2

假设我们有一个选项foo1和一个选项foo2

val foo1: Option[Foo]
val foo2: Option[Foo]

是否有一个运算符/函数允许我返回foo2when foo1is的值None

val finalFoo: Option[Foo] = foo1.getOrElseOption(foo2)

以上getOrElseOption显然不存在。我知道我们可以这样做,但它有点冗长且难以理解:

foo1.map(Some(_)).getOrElse(foo2).
4

1 回答 1

13

Option有点像偏函数,所以orElse会做你想做的事:

foo1 orElse foo2
于 2018-11-19T22:12:02.127 回答