Scala/Option
モノが存在するか否かを表すクラス。存在するものをラップしている。
このクラスを上手く使うことが Scala っぽいコードを書くコツの1つのような気がする。
Some
何かあるという状態を表すクラス。Option のサブクラス
その何かを示す何かを引数に取り生成する
Some(new Hoge())
None
存在しないという状態を表すクラス。Option のサブクラス
None
のように生成するというかそのものである。
メソッド
get
「ある」場合の「あるモノ」を取り出すメソッド。None
の場合は例外発生
match の型での分岐を使うと有りなし処理を簡素に書ける。
Option を受けての分岐
よくこのように記述する
var abc = oHoge match {
case Some(hoge) => hoge
case None => ""
}
クラスを match で判定して中身を取り出して match の戻りとして変数に入れている。
hoge には get で得られる値が入るようだ。