我有一个集合,我想匹配任何一个元素的另一个变量。我知道我可以手动执行此操作是这样的:如何匹配一组可能的值?
fruits = Set("a", "b", "c", "d")
toMatch = ("a", "fruit")
toMatch match {
case (("a" | "b" | "c" | "d", irrelevant)) => true
}
但是,有没有办法在比赛语句中使用的水果,所以我不必手动展开
编辑:我目前使用一个如果要做这种情况下,我想知道是否有一些语法糖,我可以用来做内联
fruits = Set("a", "b", "c", "d")
toMatch = ("a", "fruit")
toMatch match {
case ((label, irrelevant)) if fruits.contains(label) => true
}
如果没有其他的答案,伊利诺伊州纪念谁用,如果作为解决方案回应的第一人!抱歉,这里缺乏清晰度。
EDIT2:这样做的原因,如果你想知道是
fruits = Set("a", "b", "c", "d")
vegetables = Set("d", "e", "f")
toMatch = ("a", "fruit")
toMatch match {
case ((label, "fruit")) if fruits.contains(label) => true
case ((label, "vegetable")) if vegetables.contains(label) => true
}
我想这两种情况结合起来,所以我有一个条件每个返回类型
我目前使用的if语句这样做,但不知道是否有一些语法糖要做到这一点 – Nicomoto 2014-10-29 21:48:40
你的意思是像'fruits.contains(“A”)'(或其他)? – 2014-10-29 21:50:47