【发布时间】:2013-07-05 05:27:45
【问题描述】:
在scala中,命名函数定义为:
scala> def addOne(x: Int): Int = x+1
addOne: (x: Int)Int
scala> :type addOne
(x: Int)Int
还有一个匿名的:
scala> val addOne = (x:Int) => x+1
addOne: Int => Int = <function1>
scala> :type addOne
Int => Int
为什么它们的类型看起来不同?
为什么不能将命名函数作为参数传递给另一个函数?
不应该从类型和一阶行为的角度统一对待吗?
【问题讨论】: