gpt4 book ai didi

swift - 将 "or"逻辑与多个 "if case"语句一起使用

转载 作者:IT王子 更新时间:2023-10-29 05:42:24 49 4
gpt4 key购买 nike

假设我有一个带有关联值的枚举案例,以及该枚举类型的两个变量:

enum MyEnum {
case foo, bar(_ prop: Int)
}

let var1 = MyEnum.foo
let var2 = MyEnum.bar(1)

如果我想检查两个变量是否与关联值的一般情况相匹配,我可以用逗号来做到这一点:

if case .bar = var1, case .bar = var2 {
print("both are bar")
}

但我需要检查 either 是否符合大小写,像这样:

if case .bar = var1 || case .bar = var2 {
print("at least one is bar")
}

但是,这不会编译。是否有另一种方法来编写此代码以使逻辑正常工作?

最佳答案

我会求助于枚举本身的某种 isBar 属性,以便“a 或 b”测试保持可读性:

enum MyEnum {
case foo, bar(_ prop: Int)

var isBar: Bool {
switch self {
case .bar: return true
default: return false
}
}
}

let var1 = MyEnum.foo
let var2 = MyEnum.bar(1)

let eitherIsBar = var1.isBar || var2.isBar

关于swift - 将 "or"逻辑与多个 "if case"语句一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53621560/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com