2

Scala では、次のようなカリー化された関数を生成できます。

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

必要に応じて、次のように最初のパラメーターを入力して、新しい関数を生成できます。

val timesTwo = multiply(1) _

しかし、最初の引数の代わりに 2 番目の引数を置き換える構文は何ですか?

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 に答える