gpt4 book ai didi

scala - 如何处理返回

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

如果scala函数是

def A(): Either[Exception, ArrayBuffer[Int]] = {
...
}

什么是处理返回结果的正确方法? val a = A()和?

最佳答案

我通常更喜欢使用fold。您可以像 map 一样使用它:

scala> def a: Either[Exception,String] = Right("On")

a.fold(l => Left(l), r => Right(r.length))
res0: Product with Either[Exception,Int] = Right(2)

或者您可以像模式匹配一​​样使用它:
scala> a.fold( l => {
| println("This was bad")
| }, r => {
| println("Hurray! " + r)
| })
Hurray! On

或者,您也可以像 getOrElse中的 Option一样使用它:
scala> a.fold( l => "Default" , r => r )
res2: String = On

关于scala - 如何处理返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3496304/

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