Scala-anonymous-functions
提供:Dev Guides
Scala-無名関数
Scalaは、匿名関数を定義するための比較的軽量な構文を提供します。 ソースコード内の匿名関数は*関数リテラル*と呼ばれ、実行時に関数リテラルは*関数値*と呼ばれるオブジェクトにインスタンス化されます。
Scalaは first-class 関数をサポートします。つまり、関数は関数リテラル構文、つまり(x:Int)⇒ x + 1で表現でき、関数は関数値と呼ばれるオブジェクトで表現できます。
次の式を試してください、それは整数の後継関数を作成します-
var inc = (x:Int) => x+1
変数incは現在、通常の方法で使用できる関数です-
var x = inc(7)-1
次のように複数のパラメータを持つ関数を定義することも可能です-
var mul = (x: Int, y: Int) => x*y
変数mulは現在、通常の方法で使用できる関数です-
println(mul(3, 4))
次のようにパラメータなしで関数を定義することも可能です-
var userDir = () => { System.getProperty("user.dir") }
変数userDirは現在、通常の方法で使用できる関数です-
println( userDir )