目前我有:
val bar = "good"
val foo = bar match {
case "good" => "GREAT"
case _ => "BAD"
}
我想在 case 中使用另一个变量作为条件,如下所示:
val x = 5
val bar = "good"
val foo = bar match {
case "good" and x = 5 => "GREAT"
case _ => "BAD"
}
尝试但没有奏效:
val x = 5
val bar = "good"
val foo = bar match {
case y if (y == "good" && x == 5) => "GREAT"
case _ => "BAD"
}
这样的事情可能吗? 感谢。
答案 0 :(得分:5)
你所写的"尝试但没有工作",实际应该工作。不确定你的问题是什么。 下次,请粘贴一个实际的错误消息,而不是只是说"它没有工作"。
您还可以匹配元组:
val x = 5
val bar = "good"
val foo = (bar, x) match {
case ("good", 5) => "GREAT"
case _ => "BAD"
}
答案 1 :(得分:3)
你几乎拥有它。
val foo = bar match {
case "good" if x == 5 => "GREAT"
case _ => "BAD"
}