Scala/Option

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 で得られる値が入るようだ。

scala/option.txt · 最終更新: 2020-08-03 13:15 by ore