In Ruby, Redo statement is used to repeat the current iteration of the loop. redo always used inside the loop. The redo statement restarts the loop without evaluating the condition again.
Ruby
Output:
Ruby
Output:
Ruby
# Ruby program of using redo statement
#!/usr/bin/ruby
restart = false
# Using for loop
for x in 2..20
if x == 15
if restart == false
# Printing values
puts "Re-doing when x = " + x.to_s
restart = true
# Using Redo Statement
redo
end
end
puts x
end
2 3 4 5 6 7 8 9 10 11 12 13 14 Re-doing when x = 15 15 16 17 18 19 20In above example, redo statement apply when x = 15.
retry Statement:
To repeat the whole loop iteration from the start the retry statement is used. retry always used inside the loop. Example #1:# Ruby program of retry statement
# Using do loop
10.times do |i|
begin
puts "Iteration #{i}"
raise if i > 2
rescue
# Using retry
retry
end
end
Iteration 0 Iteration 1 Iteration 2 Iteration 3 Iteration 3 Iteration 3 ...Example #2:
# Ruby program of retry statement
def geeks
attempt_again = true
p 'checking'
begin
# This is the point where the control flow jumps
p 'crash'
raise 'foo'
rescue Exception => e
if attempt_again
attempt_again = false
# Using retry
retry
end
end
end