ペイの技術MEMO

文系大学生の技術メモ

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)