Ruby redo/retry语句

Ruby redo语句用于重复循环的当前迭代。 redo语句在没有访问循环的条件的情况下进行。

redo语句在一个循环中使用。

语法:

redo

代码示例:

#!/usr/bin/ruby   

array=[1,2,3,4,5]
array.each do |i|
    puts i
    i+=1
    redo if i==3
end#输出:1 2 3 3 4 5

将上面代码保存到文件: redo-statment.rb 中,执行上面代码,得到以下结果 -

F:\worksp\ruby>ruby redo-statment.rb
1
2
3
3
4
5

F:\worksp\ruby>

Ruby retry语句

Ruby retry语句用于从一开始重复整个循环迭代。

retry语句在循环中使用。

语法:

retry

示例代码:

#!/usr/bin/ruby   

n = 0
begin
  puts 'Trying to do something?'
  raise 'oops'
rescue => ex
  puts ex
  n += 1
  retry if n < 3
end
puts "Ok, I give up"

将上面代码保存到文件: retry-statment.rb 中,执行上面代码,得到以下结果 -

F:\worksp\ruby>ruby retry-statment.rb
Trying to do something?
oops
Trying to do something?
oops
Trying to do something?
oops
Ok, I give up

F:\worksp\ruby>

上一篇: Ruby break/next语句 下一篇: Ruby注释