Scala ひと巡り : 無名関数の構文 (Anonymous Function Syntax)
Scala は無名関数の定義について、比較的簡単な構文を提供します。次の式は、整数の後続関数を生成します:
(x: Int) => x + 1
これは次の、無名クラス定義の略記表現です:
new Function1[Int, Int] { def apply(x: Int): Int = x + 1 }
複数のパラメータをもつ関数も定義できます。
(x: Int, y: Int) => "(" + x + ", " + y + ")"
あるいは、パラメータなしの関数:
() => { System.getProperty("user.dir") }
関数の型を書くためのたいへん簡単な方法もあります。次は、上で定義した 3 つの関数の型です:
Int => Int (Int, Int) => String () => String
この構文は、次の型の略記表現です:
Function1[Int, Int] Function2[Int, Int, String] Function0[String]