Используйте логический оператор в качестве закрытия комбината

Я пытаюсь уменьшить массив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
}

То же самое происходит с логическимА ТАКЖЕ (&&) оператор.

Как я могу заставить это работать, не используя взломать выше?

Ответы на вопрос(3)

Ваш ответ на вопрос