gpt4 book ai didi

scala - 获取任何一个的值(value)

转载 作者:行者123 更新时间:2023-12-03 12:10:01 25 4
gpt4 key购买 nike

除了使用 match , 是否有类似 Option 的方式到 getOrElse Right的实际内容或 Left值(value)?

scala> val x: Either[String,Int] = Right(5)
scala> val a: String = x match {
case Right(x) => x.toString
case Left(x) => "left"
}
a: String = 5

最佳答案

我不是特别喜欢Either因此,我对它并不十分熟悉,但我相信您正在寻找预测:either.left.getOrElseeither.right.getOrElse .

请注意,预测也可用于理解。这是直接来自文档的示例:

def interactWithDB(x: Query): Either[Exception, Result] =
try {
Right(getResultFromDatabase(x))
} catch {
case ex => Left(ex)
}

// this will only be executed if interactWithDB returns a Right
val report =
for (r <- interactWithDB(someQuery).right) yield generateReport(r)
if (report.isRight)
send(report)
else
log("report not generated, reason was " + report.left.get)

关于scala - 获取任何一个的值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19503647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com