要比较具有Int作为我添加的原始值的枚举: func T: RawRepresentable(a: T, b: T) - Bool where T.RawValue: Comparable { return a.rawValue b.rawValue} 现在我能做到: enum Foo: Int { case a = 1 case b = 2}let a = Foo.alet
func <<T: RawRepresentable>(a: T, b: T) -> Bool where T.RawValue: Comparable {
return a.rawValue < b.rawValue
}
现在我能做到:
enum Foo: Int {
case a = 1
case b = 2
}
let a = Foo.a
let b = Foo.b
print(a < b) // true
但是我应该如何制作它以便我能比较以下枚举:
print(b < 1) // error你会做更多你正在做的事情:
func <<T:RawRepresentable>(a:T, b:Int) -> Bool where T.RawValue == Int {
return a.rawValue < b
}
