scala中的模式匹配,检查数字是否大于

use*_*254 5 scala

可能重复:
在Scala的模式匹配系统中使用比较运算符

对于下面的方法,我收到一个错误:"'=>'预期但找到整数文字."

是否无法检查x是否大于另一个数字,或者如果匹配"> 2",是否有另一种方法可以返回"大于2"?

 def describe(x: Any) = x match {
    case 5 => "five"
    case > 2 => "greater than 2"
  }
Run Code Online (Sandbox Code Playgroud)

Mat*_*ell 10

尝试:

def describe(x: Any) = x match {
  case 5 => "five"
  case x: Int if (x > 2) => "greater than 2"
}
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一句,那个称为模式匹配*守卫*的东西. (2认同)