Scala.Either orElse 方法

标签 scala either

使用 Either 的惯用方式是什么?在斯卡拉?例如当使用 Option我可以使用 orElse如果当前是 None,则获取下一个可选值的方法.但是如何使用 Either以同样的方式?我没有找到像 orElse 这样的方法链接 Either 的(我知道使用这种方法不是一个好主意,因为我们丢失了 Left 值)

编辑:事实上,我有一个 if-elseif-elseif-else 的序列每个返回 Right 的表达式或 Left .我想重构我的代码,让它变得“更实用”。所以我可以用 firstOption orElse secondOption orElse... 替换它如果是 Option ,但是这里怎么用Either ?

最佳答案

开始 Scala 2.13 , Either#orElse 已可用,(在 EitherScala 2.12 中右偏之后):

Right(1) orElse Left(2) // Right(1)
Left(1) orElse Left(2)  // Left(2)
Left(1) orElse Left(2) orElse Right(3) // Right(3)

关于Scala.Either orElse 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18352079/

相关文章:

scala - 什么是 Scala 延续以及为什么使用它们?

scala - Scala向右映射或向左返回

scala - 过滤 Scala 失败的任一列表

java - 要么用于 java 中的错误处理

c - 使用 union 处理错误

scala - Apache Spark : multiple outputs in one map task

scala - 作为传递依赖的 SBT 编译器插件

scala - 要么,选项和理解

Scala 树匹配案例

scala - 在Scala中将null转换为Int和Double