Ich möchte eine Erweiterung von allen Typen erstellen, die die .contains
API haben.Wie erstelle ich Erweiterungen für alle Typen mit ".contains"?
Zum Beispiel habe ich tat dies für Streicher, aber möchte es für alle Arten erweitern:
func within(values: [String]) -> Bool {
return values.contains(self)
}
Damit statt dessen:
["abc", "def", "ghi"].contains("def")
Ich kann dies tun Zweckdienlichkeit:
"def".within(["abc", "def", "ghi"])
Aber ich möchte mit so etwas wie dies zum Beispiel zur Arbeit:
[.North, .South].contains(.West)
So kann ich mit Aufzählungen dies tun:
let value = .West
value.within([.North, .South])
eine breite Erweiterung möglich für dieses Szenario schafft?
Große Antwort! Ich habe versucht, 'GeneratorType' zu erweitern, aber das ist definitiv ein besserer Ansatz. – JAL