2016-10-22 3 views
2

Ich möchte gegen mehrere Aufzählungen und so etwas wie dieses müssen übereinstimmen:Mehrere Enums mit einem einzigen Gehäuse zusammenpassen?

guard case .north = $0, case .south = $0 else { return } 

Gibt es eine Möglichkeit, dies zu einer einzigen Anweisung so zu verdichten?

guard case (. north, . south) = $0 else { return } 

Das oben genannte kompiliert nicht, aber hoffte, dass ich etwas so tun kann. Gibt es eine Alternative?

+0

Mögliche Duplikat von [Wie zu tun, wenn Muster mit mehreren Fällen passend?] (Http: // Stackoverflow .com/questions/39333716/How-To-Do-Wenn-Muster-Matching-mit-mehreren-Fällen – Hamish

Antwort

4

Sie können die gewünschten Fälle in eine wörtliche gestellt hatten und contains für ein Spiel zu testen:

guard [.north, .south].contains($0) else { return } 
Verwandte Themen