さっしーブログ

埼玉県在住のシステムエンジニアです。基本的には技術的な内容を中心に発信していきます。

Scala入門 プレイスホルダ構文について

目次

1.プレイスホルダ構文とは

この構文を使用することで関数リテラルの記述を簡潔にすることが可能になります。
例えば普通にの関数リテラルを記述した場合

scala> val func: (String, String) => String = (x: String, y: String) => x + y
func: (String, String) => String = $$Lambda$3092/420144788@1d63fdf

となり、実際に関数を使ってみる。

scala> func("Hello", "World")
res0: String = HelloWorld

しかし、プレイスホルダ構文を使用すれば以下のように記述でき、結果も上記と同じになる。

scala> val func: (String, String) => String = _ + _
func: (String, String) => String = $$Lambda$3099/532771753@5eed3df6

scala> func("Hello", "World")
res1: String = HelloWorld

これで関数リテラルが完結記述できました。
最後にプレイスホルダ構文を使用する際の注意点として
① 引数が関数リテラルの中で一度しか使用されていない場合に利用できる。
② 「_」として置き換えるため、型を推論できるための情報が必要。

以上