我想澄清有关scala currying的好处.根据"Scala第二版编程" - "currying一种用多个参数列表编写函数的方法.例如,
def f(x: Int)(y: Int)
带有两个参数列表的curried函数.通过传递多个参数列表来应用curried函数,如:f(3)(4)
.但是,也可以编写curried函数的部分应用,例如f(3)." "c"
与创建相关的一个好处是部分应用了这样的功能
def multiplyCurried(x: Int)(y: Int) = x * y def multiply2 = multiplyCurried(2) _
但是我们也可以使用部分应用的函数而不用currying
def multiplyCurried(x: Int,y: Int) def multiply2 = multiplyCurried(2, _)
你能举几个例子,currying会有什么好处吗?