Как получить другой вариант в Scala - PullRequest
0 голосов
/ 20 ноября 2018

Давайте предположим, что у нас есть опция foo1 и опция foo2:

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

Есть ли оператор / функция, которая позволяет мне возвращать значение foo2, когда foo1 равно None?

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

Выше getOrElseOption явно не существует. Я знаю, что мы можем сделать что-то подобное, но это несколько многословно и трудно понять:

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

1 Ответ

0 голосов
/ 20 ноября 2018

Option работает как частичная функция, поэтому orElse будет делать то, что вы хотите:

foo1 orElse foo2
...