Verwenden Sie den logischen Operator als Mähdrescher in redu
Ich versuche, ein Array von @ zu reduzierBool
s durch Anwenden des logischen OperatorsODE (||
) mit dem folgenden Code, jedoch erhalte ich eine Fehlermeldung:
func reduceBools(values: [Bool]) -> Bool {
return values.reduce(false, combine: ||)
}
Mehrdeutiger Verweis auf Mitglied '||'
Analogerweise funktioniert der Code für ganze Zahlen wie ein Zauber.
func reduceInts(values: [Int]) -> Int {
return values.reduce(0, combine: +)
}
Ich konnte es zum Laufen bringen, indem ich ein @ hinzufüg||
-Funktion (Code unten) oder mit einem{ $0 || $1 }
Closure, aber ich mag diese Ansätze nicht und würde es vorziehen, einfach den Operator zu übergeben.
func ||(lhs: Bool, rhs: Bool) -> Bool {
return lhs || rhs
}
Das gleiche passiert für das logischeUN (&&
) Operator
Wie kann ich es zum Laufen bringen, ohne den obigen Hack zu benutzen?