2

在 Scala 中,我可以像这样生成一个柯里化函数:

def multiply(m: Int)(n: Int): Int = (m + 1) * (n + 2)

如果需要,我可以通过填充第一个参数来生成一个新函数,如下所示:

val timesTwo = multiply(1) _

但是替换第二个参数而不是第一个参数的语法是什么?

val timesThree = multiply _ (1)  // Incorrect Syntax

更重要的是,为什么没有直接并行multiply(1) _

4

1 回答 1

8
val timesThree = multiply(_: Int)(1)

或者

val timesThree = (x: Int) => multiply(x)(1)
于 2013-08-30T03:28:38.227 回答