Switch语句忽略多个案例的Where子句

Yar*_*sim 4 switch-statement swift

请考虑以下情形:

enum XYZ {
  case X
  case Y
  case Z
}

let x = XYZ.X

switch x {
case .X, .Y where false:
  println("x or y")
case .Z:
  println("z")
default:
  println("default")
  break
}
Run Code Online (Sandbox Code Playgroud)

即使该where条款是false,该片段也会打印出来x or y.

没有发现任何提及它.任何人都知道如何重构这个而不重复第一种情况下的代码?

fallthough现在使用但该where条款现在重复

Joo*_*gen 5

警卫where CONDITION只会绑定.Y.

case .X where false, .Y where false:
Run Code Online (Sandbox Code Playgroud)