是否有语法来实现以下目标:
map.get(key) match {
case None | Some(v) if v != 0 =>
// Do something
case _ =>
// Do something else
}
所以如果地图不包含值或地图包含值并满足某个条件,我想做同样的事情
答案 0 :(得分:3)
您可以在以下案例部分使用条件:
value match {
case _ if value == None || value.get != 0 => // Do something
case _ => // Do something else
}
答案 1 :(得分:0)
您可以产生一个中间值:
if (
map.get(key) match {
case None => true
case Some(v) if v == 0 => true
case _ => false
}
) {
// Do something
}
else {
// Do something else
}