В руби существует только два цикла
while
выполнять пока выражени истинно
until
выполнять пока выражение ложно
n.times
выполнить
что-то n-раз
n.upto(m)
выполнить от n до m
n.step(m,k)
выполнить от n до m с шагом k
a.each
для каждого элемента в массиве a
for i in
аналогично each
break
Немедленно прекращает выполнение цикла; управление передается на утверждение, расположенное сразу за циклом
redo
Повторяет тело цикла с начала, не пересчитывая условие выполнения цикла (не переходя к следующему элементу в случае итератора)
next
Пропускает часть тела цикла, следующую за ним, и переходит к следующей итерации
retry
Начинает выполнение цикла с самого начала