scala - 如何在Scala中使用另一个选项获取OrElse

标签 scala option partial-functions

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

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

foo2foo1时,是否有一个运算符/函数可以让我返回None的值?
val finalFoo: Option[Foo] = foo1.getOrElseOption(foo2)

上面的getOrElseOption不存在。我知道我们可以做这样的事情,但这有点冗长且难以理解:
foo1.map(Some(_)).getOrElse(foo2).

最佳答案

Option的工作原理有点像部分函数,​​因此orElse可以满足您的要求:

foo1 orElse foo2

关于scala - 如何在Scala中使用另一个选项获取OrElse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53383347/

相关文章:

scala - 在 Akka 中配置嵌套路由器

java - 如何在 build.sbt 中定义 Jackson 数据绑定(bind)依赖项?

java - 在 Play 中设置环境变量!框架

edit - 编辑时选择了多个 thymeleaf

scala - Scala是否具有将Seq [Option [T]]转换为Seq [T]的API方法?

scala - Scala 中的方法与函数和隐式

scala - 匿名 PartialFunction 语法

haskell - 为什么要取总函数

scala - 设置 IntelliJ 2017 以使用 Gradle 4.2 和最新的 Play Framework 2.6

scala - flatten函数中使用的模式匹配中List[_]的解释