在Scala中,everything is an object。甚至函数都是FunctionN
类的子类。我们可以使用以下语法声明函数:
def foo(a:A, b:B):C = ...
其中A,B和C是类型。假设函数foo
是Function2[A,B,C]
的子类,它是否等同于
val foo = new Function2[A,B,C] { def apply(a:A, b:B) = ... }
此外,如果是这样,如何通用功能如
def bar[T](data:T)
使用val
语法编写?