如果我有myVar = 2
和myVar match{
case myMap("one") -> // do a certain action
case _ -> // do another action
}
以下内容不起作用,为什么?
myMap
但这有效,如果不是val one = 1
我有变量,例如match
然后myVar match{
case `one` -> "first element"
case _ -> "second element"
}
变为
HtmlViewHelper.php
答案 0 :(得分:3)
你得到一个错误,因为对于模式匹配,我们需要实现unapply方法(更多细节阅读this) - 在这种情况下,Map中没有这种参数的unapply方法:
def unapply(z: String): Option[Int]
作为一个选项,您可以这样写:
myVar match {
case x if x == myMap("one") => "first element"
case _ => "second element"
}