只是好奇的区别是定义函数参数,写倍
abstract class OperationTree {
def foldOT[T] (flr : (OT, OT) => T, fsv : (Number => T), fs : (String => T), a : OT) : T =
a match {
case SimpleValue(v) => fsv(v)
case SimpleString(s) => fs(s)
case SimpleOperation(lot, rot, bop) => flr(foldOT[T](flr,fsv,fs,lot) , foldOT[T](flr,fsv,fs,rot))
}
}
上面的代码下面的部分之间什么是正确的(我希望!)。但是,当我第一次写吧,DEF的部分是不同的
def foldOT[T] (flr : (OT, OT => T), fsv : (Number => T), fs : (String => T), a : OT) : T =
,并用这个定义,我得到了错误(OT,OT => T不带参数)不带参数。
不知FLR:(OT,OT => T)的真正含义,
我约需类OT是把折叠正确的地方的意见。 (无论如何,现在将它移动到包对象)
谢谢!
@senia谢谢! 我也刚刚发现这是一个折叠的错误定义:P – Illiax 2013-05-08 08:05:49