У Ruby цикли використовуються для повторення виконання коду. Мова має кілька способів створення циклів, кожен із яких підходить для різних завдань. Нижче представлені основні конструкції циклів у Ruby
1. Цикл while
Виконується, поки умова істинна.
i = 0
while i < 5
puts i
i += 1
end
2. Цикл until
Виконується, поки умова не стане істинною.
i = 0
until i == 5
puts i
i += 1
end
3. Цикл for
Використовується для ітерації по діапазону або колекції.
for i in 1..5
puts i
end
4. Ітератори each
Ruby надає ітератори для обходу елементів масивів, хешів, діапазонів тощо.
Для масиву:
[1, 2, 3, 4, 5].each do |num|
puts num
end
Для хешу:
{a: 1, b: 2, c: 3}.each do |key, value|
puts "#{key}: #{value}"
end
5. Цикл loop
Безкінечний цикл (потребує умовного break
для зупинки).
i = 0
loop do
puts i
i += 1
break if i >= 5
end
6. Цикл times
Зручний спосіб виконати код визначену кількість разів.
5.times do |i|
puts i
end
7. Цикл upto
та downto
Для інкременту або декременту чисел.
upto
:
1.upto(5) do |i|
puts i
end
downto
:
5.downto(1) do |i|
puts i
end
8. Модифікатори циклів
Ruby підтримує скорочені форми для while
та until
як модифікатори.
Модифікатор while
:
puts i += 1 while i < 5
Модифікатор until
:
puts i += 1 until i == 5
Ключові слова в циклах
break
: завершує виконання циклу.next
: переходить до наступної ітерації.redo
: повторює поточну ітерацію.retry
: використовується в циклах із обробкою винятків (після Ruby 2.0 застаріло).
Цикли у Ruby дуже зручні завдяки їх компактності та читабельності.