5

我想匹配元组模式,但我找不到任何解决方案如何使用比较运算符进行匹配。我的代码是:

myTuple  match {       
      case (-1,-1,true) => ...       
      case (_>=0,-1,_) =>  ...
    }

这给出了编译时错误。我也尝试使用 if guard,但我认为它不能以这种方式应用:

 case (_ if _>=0,-1,_) =>  ...

我的方法是正确的还是应该以不同的方式解决这个问题?谢谢佐尔坦

4

1 回答 1

9

语法错误,你应该使用guard如下:

myTuple  match {       
  case (-1,-1,true) => ...
  case (x,-1,_) if x >= 0 =>  ...
  case _ => ... // default
}

网上有很多关于 scala 模式匹配的很好的介绍。这是我在 google 上找到的第一个详细信息:Playing with Scala's pattern matching

于 2012-07-17T13:15:55.020 回答