Я новичок в Swift
и пытается найти элегантный способ обработки переменной цикла for, которая может быть отрицательной.Элегантный быстрый способ обработки отрицательного индекса в цикле
func funForLoops(_ loop:Int) {
for i in 0..<loop {
print("Hello \(i)")
}
}
funForLoops(1) // prints Hello 0
funForLoops(0) // doesn't execute
funForLoops(-1) // runtime error "fatal error: Can't form Range with upperBound < lowerBound"
Есть более простой способ проверить это, чем это:
if (loop >= 0) {
for i in 0..<loop {
print("Hello \(i)")
}
}
Или это:
for i in 0..<(loop >= 0 ? loop : 0) {
Спасибо! Это именно то, что я имел в виду - «если это отрицательно, ничего не делай» –