[swift-users] enum compare
Rien
Rien at Balancingrock.nl
Sat Jan 21 07:23:07 CST 2017
The “==“ operation can only compare concrete instances of the enum.
With “type == ACType.other” the right side is not an instance. as the associated value is missing.
Regards,
Rien
Site: http://balancingrock.nl
Blog: http://swiftrien.blogspot.com
Github: http://github.com/Swiftrien
Project: http://swiftfire.nl
> On 21 Jan 2017, at 13:56, tridiak via swift-users <swift-users at swift.org> wrote:
>
> Been searching and trying to figure out a comparison problem.
>
> func ==(lhs : ACType, rhs : ACType) -> Bool {
> switch (lhs,rhs) {
> case (.other, .other):
> return true
> case (.other, _):
> return false
> case (_, .other):
> return false
> default:
> return lhs == rhs
> }
> }
>
> enum ACType {
> case noType
> case natural
> case armour
> case shield
> case deflection
> case dodge
> case sacred
> case luck
> case other(String)
>
> static func Stacks(type : ACType) -> Bool {
> return type == ACType.noType || type == ACType.dodge || type == ACType.other
> }
> }
>
> I get an error concerning ‘type == ACType.other’.
> Compiler blab: Binary operator '==' cannot be applied to operands of type 'ACType' and '(String) -> ACType'
>
> How do I fix this? Simply cannot see it.
>
> TIA Mark
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
More information about the swift-users
mailing list