Как получить другой вариант в 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
Другие вопросы по тегам