Как работает цикл loop в Ruby

Аватар пользователя Nikolai Gagarinov
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 methodnumber' for main:Object (NameError)` так как переменная была объявлена внутри цикла

loop do
  number = 42
  break
end

puts number
0 0
Пройдите курс по программированию бесплатно

Похожие вопросы