ScalaのOption
Optionとは
- 値があるかもしれない時に使う
- 実行時ではなくコンパイル時に気づける(エラーを型で表現するため)
- 使用する際はOptionでラップした(Optionで囲う)メソッドなどを定義する
Optionの値
- Option[A]は抽象クラス
- Some[A]はOptionを継承したクラス
- 値がある時はOptionインスタンス、ない時はNoneオブジェクトを返す
Optionの値を使う場合
- getで取り出せるがNoneに対して取り出す場合例外になる
- getOrElseを使うとNoneの時の対応ができる
- foreachを使うとSomeの時にのみ実行してくれる
- matchを使ってSomeとNoneに対しての処理を書く
Optionの変換
- OptionのIntからStringに変換する場合はmapを使う(A => B)
Option(1).map(_.toString)
mapについての説明
- mapは変換したい場合に使用される
- _.hogeはi => iの簡略版
- 下記は同義
Seq(1,2,3).map(_ * 2) Seq(1,2,3).map(i => i*2)