有没有办法将`if case`语句写成表达式?

Ian*_*nry 21 swift

考虑以下代码:

enum Type {
    case Foo(Int)
    case Bar(Int)

    var isBar: Bool {
        if case .Bar = self {
            return true
        } else {
            return false
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

真恶心.我想写这样的东西:

enum Type {
    case Foo(Int)
    case Bar(Int)

    var isBar: Bool {
        return case .Bar = self
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这样的构造似乎并不存在于Swift中,或者我找不到它.

由于每种情况都有相关的数据,我认为不可能~=以与上述表达式等效的方式实现运算符(或任何其他帮助程序).并且在任何情况下,if case所有枚举都存在免费语句,并且不需要手动实现.

因此,我的问题是:有没有isBar比我上面所说的更简洁/声明/清洁/惯用的方式?或者,更直接地说,有没有办法将if case 语句表达为Swift 表达式

Tun*_*ğlu -7

您在寻找?运营商吗?

文档位于三元条件运算符标题下。