用单个保护大小写匹配多个枚举



我想匹配多个枚举,并有这样的东西:

guard case .north = $0, case .south = $0 else { return }

是否有一种方法可以将其压缩成这样的单个语句?

guard case (. north, . south) = $0 else { return }
上面的

不能编译,但我希望我能做这样的事情。有别的选择吗?

您可以将所需的大小写放入文字数组中,并使用contains来测试是否匹配:

guard [.north, .south].contains($0) else { return }

最新更新