Scala def和lambda有何不同';迪瓦尔?
两者的区别是什么Scala def和lambda有何不同';迪瓦尔?,scala,lambda,Scala,Lambda,两者的区别是什么 def plusOne(n: Int) = n + 1 及 真正的区别在于,第一个是“方法”,第二个是“函数”,在Scala中,这两个东西有着惊人的不同 例如,您可以看到。实际上,它们都是函数 第一个是方法或局部函数,具体取决于声明它的位置。第二个是函数值,它是在运行时实例化的对象。方法、局部函数、函数值和函数文本都是Scala中函数的风格 马丁·奥德斯基(Martin Odersky)的书中关于这个主题的一章,请参见此处:可能重复的@0\uuuu:不是重复的。这是关于函数和
def plusOne(n: Int) = n + 1
及
真正的区别在于,第一个是“方法”,第二个是“函数”,在Scala中,这两个东西有着惊人的不同
例如,您可以看到。实际上,它们都是函数 第一个是方法或局部函数,具体取决于声明它的位置。第二个是函数值,它是在运行时实例化的对象。方法、局部函数、函数值和函数文本都是Scala中函数的风格
马丁·奥德斯基(Martin Odersky)的书中关于这个主题的一章,请参见此处:可能重复的@0\uuuu:不是重复的。这是关于函数和
var
s之间的区别。@Mechanical snail-我没有看到var
s。很明显,这是方法与功能的对比(val plusOne
持有一个相当于plusOne\uu
定义为方法的功能)。如果您不知道术语,那么“函数与lambda'd val之间的区别”这个问题就与您无关了。如果我知道这就是我要问的,我就不需要问这个问题了。
val plusOne = (n : Int) => n + 1