落書きノート

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

Scala プレースホルダ構文その2

プレースホルダ構文を使用するには、引数を「_」(プレースホルダを示す記号)として推論出来るだけの情報が必要です。関数オブジェクトの型を指定するか、下記のように関数リテラル内でプレースホルダの型を指定することで使用できるようになります。

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

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

scala> func(2,4)
res11: Int = 6

さっきよりもすっきりしてるような感じがしますね。