将2个选项合并为1

Jen*_*der 18 scala scala-option

Scala中是否存在预定义函数x,它将2个选项组合在一起

Some(a) x None => Some(a)
None x Some(b) => Some(b)
None x None => None
Run Code Online (Sandbox Code Playgroud)

Ben*_*mes 43

是的,这是orElse方法.它选择第一个定义的值,或者None如果两者都没有定义.

scala> Some(1) orElse None
res0: Option[Int] = Some(1)

scala> None orElse Some(1)
res1: Option[Int] = Some(1)

scala> None orElse None
res2: Option[Nothing] = None

scala> Some(1) orElse Some(2)
res3: Option[Int] = Some(1)
Run Code Online (Sandbox Code Playgroud)