Циклы


# Цикл for

# Нотация 1
for i in 1..5 do
...
end

# Нотация 2
for i in "a".."z"
...
end


# Циклы while/until

# while - в начале
while gets
  next if /^#/            # Skip comments
  break if /^END/         # Stop at End
  parseLine unless /^$/   # Don't parse empty lines
  redo if gsub!(/`(.*?)`/) { eval($1) }
  retry if gets =~ /^y/i  # From the very Beginning
end

# while - в конце
begin
   ...
end while c<5

# while - сокращенно
s+=1 while s<5
while s<5 s+=1

# until - в начале
until c<5 do
  ...
end

# until - в конце
begin
  ...
end until c<5


# Цикл loop

loop do
    break if a =~ /moscow/
end


* next - следующая итерация
* redu - повторная итерация
* break - прервать цикл
* retry - начать цикл с начала