swift - 将多个枚举与单个 guard 案例匹配?

标签 swift enums

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

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

有没有办法将其压缩为这样的单个语句?

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

上面没有编译,但希望我能做这样的事情。有替代方案吗?

最佳答案

您可以将所需的案例放入文字数组中,并使用 contains 来测试匹配:

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

关于swift - 将多个枚举与单个 guard 案例匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40191791/

相关文章:

swift - 无法使用 RxSwift/RxRealm 过滤对象

c - 如何验证枚举元素并最终生成错误?

javascript - 带有 ES6 的 Javascript 中的枚举

java - 根据用户输入设置枚举

ios - 无法下标 NSInteger 类型的值

ios - 修复注销功能

iOS - 了解应用商店国家

xcode - 更新到 Xcode 6.3 后,与 Neo4J 的 Theo 连接断开

java - 我应该使用嵌套枚举吗?

java - 为什么我不能从 Java 中的专用枚举值访问静态最终成员