初学者向けの Scala Tips (1) - Option#map()を使おう
唐突に始まったScala Tipsコーナー、初学者が陥りがちなScalaのコードパターンを例にして、より良い方法を解説していきます。第一回はOptionクラスのmap()メソッドを使おうというものです。知ってる人には今更ですが、Option#map(f)は、レシーバーの値がSome(v)の場合は、fにvを渡した結果のSome(f(v))が、Noneの場合はNoneが返ります。したがって、パターンマッチを使った以下のようなコードは
val result = exp1 match { case Some(v1) => val vx = //expression using v1 Some(vx) case None => None }
常に以下のような形に書き換えることができます。
val result = exp1.map{v1 => val vx = //expression using v1 vx }
より一般的なコードでは、flatMap()を使う事が有用な事がありますが、それはまた今度。