Scala选项||

gon*_*opp 1 scala scala-option

我想获得scala中几个Option之一的值,如下所示:

def or(a:Option[Int], b:Option[Int]):Option[Int]=
    if (a.isDefined) a else b

val a= Option(1)
val b= Option(2)
or(a,b).get
Run Code Online (Sandbox Code Playgroud)

但我想知道为什么||运营商没有为Option定义?有没有更惯用的方法呢?

Eug*_*ota 5

使用orElse.

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

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