Какие виды циклов есть в Ruby? (loop, while, until, for, each, times, upto)

Вопрос проверяет знание различных типов циклов и их применение для итерации в Ruby.

Короткий ответ

В Ruby есть несколько видов циклов: loop для бесконечных итераций, while и until для выполнения до выполнения условия, for для итерации по коллекциям, а также методы each, times и upto для работы с коллекциями и числами.

Длинный ответ

Циклы в Ruby предоставляют гибкость в итерации по данным:

 

loop:
Выполняет блок кода бесконечно, пока не вызван break.

i = 0
loop do
  puts i
  i += 1
  break if i > 5
end

 

while:
Выполняет блок, пока условие истинно.

i = 0
while i < 5
  puts i
  i += 1
end

 

until:
Выполняет блок, пока условие ложно.

i = 0
until i > 5
  puts i
  i += 1
end

 

for:
Используется для итерации по коллекциям.

for i in 1..5
  puts i
end

 

each:
Метод итерации, доступный для массивов, хэшей и других коллекций.

[1, 2, 3].each { |num| puts num }

 

times:
Повторяет блок указанное количество раз.

5.times { |i| puts i }

 

upto:
Итерация от начального числа до конечного.

1.upto(5) { |i| puts i }

 

Каждый цикл имеет своё применение: например, each используется для работы с коллекциями, а times и upto — для числовых последовательностей.

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • Ruby

Подпишись на Ruby Developer в телеграм