落書きノート

ふと自分が気になった事を書いてます

Scala プレースホルダ構文

今までは以下のように関数を定義して使っていました。

scala> val func: (Int, Int) => Int = (x:Int, y:Int) => x + y
func: (Int, Int) => Int = <function2>

引数が関数リテラルの中で一度しか使用されない場合、「プレースホルダ構文」を使用することで、関数リテラルの記述をもっと単純にできます。

scala> val func:(Int, Int) => Int = _ + _
func: (Int, Int) => Int = <function2>

scala> func(1,2)
res8: Int = 3

scala> func(3,8)
res9: Int = 11

いい感じに端折れますね。