Используйте диапазоны!
if (1...5).contains(x) &&
(1...5).contains(y) &&
(1...5).contains(z) {
}
В качестве альтернативы создайте замыкание, которое проверяет, находится ли что-то в диапазоне:
let inRange: (Int) -> Bool = (1...5).contains
if inRange(x) && inRange(y) && inRange(z) {
}
Как предложил Хэмиш, метод allSatisfy
в Swift 4.2может быть реализовано как расширение как это:
extension Sequence {
func allSatisfy(_ predicate: (Element) throws -> Bool) rethrows -> Bool {
return try !contains { try !predicate($0) }
}
}