val one: Option[Int] = None
val two = Some(2)
Option(one.getOrElse(two.getOrElse(null))) // Gives me Some(2) which I want
val one = Some(1)
val two = None
Option(one.getOrElse(two.getOrElse(null))) // Gives me Some(1) which I want
val one: Option[Int] = None
val two: Option[Int] = None
Option(one.getOrElse(two.getOrElse(null))) // Gives me None which I want
val one = Some(1)
val two = Some(2)
Option(one.getOrElse(two.getOrElse(null))) // Gives me Some(1) when I want an exception
私はどちらかのタイプを簡単に調べましたが、「2つの可能なタイプのうちの1つの値を表す」ためのようです。データ構造またはモナドが不足していますか? 基本的に、明示的 (および両方が価値がある場合はエラースロー) が必要です。利用可能な場合はどちらかを取得するか、None を取得します