要比较具有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 }