是否可以使用 'if-case' 代替具有逗号分隔列表的开关?

Is it possible to use 'if-case' in place of a switch that has a coma delimited list as a case?

Swift 2 引入了 if-case,这应该是一种更简洁的表达开关的方式,只有少数情况。我想知道是否有一种方法可以将带有逗号分隔列表的 switch 语句表示为 if-case.

let (a,b) = (1,0)

switch (a,b) {

case (1,0), (0,1), (1,1):
    print("true")
default:
    print("false")
}

我试过的:

if case (a,b) = (1,0) {
    // works
}

if case (a,b) = (1,0), (0,1), (1,1) {
    // doesn't
}

这会编译,但 (a,b) 元组的 returns 错误:

if case (a,b) = (1,0),
case (a,b) = (0,1),
case (a,b) = (1,1) {
    print("if case true")
} else {
    print("if case false")
}

我想看的:

我希望看到一种将上述 switch 语句缩短为单个 if-case 的方法。

我的问题

是否可以使用 if-case 代替具有逗号分隔列表的开关作为案例?

嗯,差不多一个月后。这是我最接近满足逗号分隔列表问题的答案。这实际上满足了相同的要求,但方式不同。

let tuple = (1,0)

if case (0...1, 0...1) = tuple where !(a == 0 && b == 0) { return true }
else { return false }