Используйте логический оператор в качестве закрытия комбината
Я пытаюсь уменьшить массивBool
с применением логического оператораИЛИ ЖЕ (||
), используя следующий код, однако я получаю сообщение об ошибке:
func reduceBools(values: [Bool]) -> Bool {
return values.reduce(false, combine: ||)
}
Неоднозначная ссылка на члена '||'
Аналогично для целых чисел код работает как шарм.
func reduceInts(values: [Int]) -> Int {
return values.reduce(0, combine: +)
}
Я смог заставить его работать, добавив||
функция (код ниже) или с помощью{ $0 || $1 }
замыкание, но мне не нравятся эти подходы, и я предпочел бы просто передать оператора.
func ||(lhs: Bool, rhs: Bool) -> Bool {
return lhs || rhs
}
То же самое происходит с логическимА ТАКЖЕ (&&
) оператор.
Как я могу заставить это работать, не используя взломать выше?