我找到了下面的代码.
val carType = "SUV"
val space = carType match{
case car if(car.contains("SUV") || car.contains("sports")) => "limited"
case "sedan" => "family car"
case _ => "vehicle"
}
println(s"4 Space of $carType is $space")
Run Code Online (Sandbox Code Playgroud)
在第一个案例陈述中试图理解"汽车"这个词的来源?它是变量吗?如果是这样,它没有被宣布也没有初始化?有人可以澄清一下吗?
为了在限定if语句中使用它,它与匹配值绑定.第一种情况是它包含SUV或运动,但它与第二种情况("轿车")不完全匹配.你需要一些东西叫'包含',这里是'汽车'.
您可以将其更改为x或其他任何内容,它的行为也相同.
if语句称为"后卫".https://docs.scala-lang.org/tour/pattern-matching.html