在 Scala 中,人们可以像这样编写(curry?)函数
def curriedFunc(arg1: Int) (arg2: String) = { ... }
使用两个参数列表的上述 curriedFunc
函数定义和使用单个参数列表中的多个参数的函数之间有什么区别:
def curriedFunc(arg1: Int, arg2: String) = { ... }
从数学的角度来看,这是 (curriedFunc(x))(y)
和 curriedFunc(x,y)
,但我可以写 def sum(x) (y) = x + y
和同样将是 def sum2(x, y) = x + y
我只知道一个区别——这是部分应用的函数,但两者对我来说是等价的。
还有别的区别吗?