ary=[1,2,3]
ary.each do |i|
puts i
i+=1
redo if i==2
end
#输出:1 2 2 3
redo做的动作是:条件满足,则以当前的条件重复一次{ block}的动作,当前的条件包括(当前的变量值)
ary=[1,2,3]
ary.each do |i|
puts i
i+=1
retry if i==2
end
#输出:死循环 1
这里我们没有看到 i+=1,输出 2,说明,retry的重复动作包括从{block}外开始,包括i的值。