Про цикли у Ruby (loops)

У 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 дуже зручні завдяки їх компактності та читабельності.