使用 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
已可用,(在 Either
在 Scala 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/