【问题标题】:Matching on tuple using comparison operator使用比较运算符匹配元组
【发布时间】:2012-07-17 13:11:35
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: scala pattern-matching


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多