gpt4 book ai didi

scala - 是否有关于 Scala 模式匹配可能性的完整规范?

转载 作者:行者123 更新时间:2023-12-04 22:35:52 24 4
gpt4 key购买 nike

是否有关于 Scala 模式匹配可能性的完整规范?

我无法修复以下代码:

  something match {
case e @ (sae: ServerApiException if sae.statusCode == 401 | _: UnauthorizedException) => {
doSomething(e)
}
...
}

(它不会在 2.8.1 中编译。)

最佳答案

我不确定我会这样写代码;很难遵循(除了不能以其原始形式工作)。

我宁愿去像

def doSomething(e: Exception) = { /* whatever */ }
something match {
case sae: ServerApiException if (sae.statusCode == 401) => doSomething(sae)
case ue: UnauthorizedException => doSomething(ue)
}

避免重复代码。或者你可以使用选项:
(something match {
case sae: ServerApiException if (sae.statusCode == 401) => Some(sae)
case ue: UnauthorizedException => Some(ue)
case _ => None
}).foreach(e => /* do something */ )

如果您更喜欢在之后编写方法。但我认为第一种方式可能是最清楚的。

关于scala - 是否有关于 Scala 模式匹配可能性的完整规范?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6624445/

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