之间有什么区别
def plusOne(n: Int) = n + 1
和
val plusOne = (n : Int) => n + 1
答案 0 :(得分:4)
真正的区别在于第一个是“方法”,第二个是“函数”,而在Scala中,这两个东西出奇地不同。
答案 1 :(得分:4)
实际上,它们都是功能。
第一个是方法或局部函数,具体取决于声明的位置。第二个是函数值,它是在运行时实例化的对象。方法,局部函数,函数值和函数文字都是Scala中的各种函数。
请参阅此处,了解Martin Odersky关于此主题的书籍章节:http://www.artima.com/pins1ed/functions-and-closures.html