在Scala中,可以像这样编写(curried?)函数
def curriedFunc(arg1: Int) (arg2: String) = { ... }
Run Code Online (Sandbox Code Playgroud)
上述curriedFunc函数定义与两个参数列表和单个参数列表中具有多个参数的函数之间有何区别:
def curriedFunc(arg1: Int, arg2: String) = { ... }
Run Code Online (Sandbox Code Playgroud)
从数学的角度来看,这是(curriedFunc(x))(y),curriedFunc(x,y)但我可以写def sum(x) (y) = x + y,同样的def sum2(x, y) = x + y
我只知道一个区别 - 这是部分应用的功能.但这两种方式对我来说都是等同的.
还有其他差异吗?