Вопрос проверяет знание различных типов циклов и их применение для итерации в Ruby.
В Ruby есть несколько видов циклов: loop для бесконечных итераций, while и until для выполнения до выполнения условия, for для итерации по коллекциям, а также методы each, times и upto для работы с коллекциями и числами.
Циклы в Ruby предоставляют гибкость в итерации по данным:
loop:
Выполняет блок кода бесконечно, пока не вызван break.
i = 0
loop do
puts i
i += 1
break if i > 5
endwhile:
Выполняет блок, пока условие истинно.
i = 0
while i < 5
puts i
i += 1
enduntil:
Выполняет блок, пока условие ложно.
i = 0
until i > 5
puts i
i += 1
endfor:
Используется для итерации по коллекциям.
for i in 1..5
puts i
endeach:
Метод итерации, доступный для массивов, хэшей и других коллекций.
[1, 2, 3].each { |num| puts num }times:
Повторяет блок указанное количество раз.
5.times { |i| puts i }upto:
Итерация от начального числа до конечного.
1.upto(5) { |i| puts i }Каждый цикл имеет своё применение: например, each используется для работы с коллекциями, а times и upto — для числовых последовательностей.