Как работает цикл loop в Ruby
Ответы
Nikolai Gagarinov
15 февраля 2022
Цикл Loop выглядит следующим образом
loop do
# ...
end
По сути он представляет собой while(true) end
и будет выполняться бесконечно.
Чтобы прервать цикл, нужно вызвать конструкцию break
count = 0
loop do
count = count + 1
puts count
break
end
К примеру, здесь цикл выполнится один раз и прервется. Можно использовать условие, чтобы прервать цикл
count = 0
loop do
count = count + 1
puts count
if count == 10
break
end
end
Вызов next
внутри цикла позволяет пропустить итерацию
count = 0
loop do
count = count + 1
if count.even?
next
end
puts count
if count >= 10
break
end
end
Все объявленные переменные внутри цикла будут находится в его области видимости. Следующий код приведет к ошибке undefined local variable or method
number' for main:Object (NameError)` так как переменная была объявлена внутри цикла
loop do
number = 42
break
end
puts number
0
0