最佳答案
假设我想使用相同的代码处理来自远程服务的多个返回值。我不知道如何在 Scala 中表达:
code match {
case "1" => // Whatever
case "2" => // Same whatever
case "3" => // Ah, something different
}
我知道我可以使用提取方法并调用它,但是在调用中仍然存在重复。如果我用 Ruby,我会这样写:
case code
when "1", "2"
# Whatever
when "3"
# Ah, something different
end
注意,我简化了这个示例,因此我不想在正则表达式或类似的表达式上进行模式匹配。匹配值实际上是复杂的值。