Как получить другой вариант в Scala
Давайте предположим, что у нас есть вариант 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 ответ
Решение
Option
работает как частичная функция, так orElse
буду делать что хочешь
foo1 orElse foo2