我有一个功能:
def func(a: int, b: int, c: double): int
我想匹配各种可能的场景
c
为 0,返回 b-a
c
> 9, 返回 0 a=b
返回 0 依此类推,如果以上都不满足,则在做一些更复杂的逻辑之前。
我是否必须先单独匹配 c,还是可以匹配 a、b、c,例如
_,_,0
?
最佳答案
您可以像这样对所有描述的情况进行模式匹配:
def func(a: Int, b: Int, c: Double) = (a, b, c) match {
case (a, b, 0) => b - a
case (a, b, c) if c > 9 || a == b => 0
case _ => 1 // add your logic here
}
关于scala - 如何匹配多个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5392922/