欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ruby的redo和retry 回顾

程序员文章站 2022-03-04 21:29:10
...
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的值。
相关标签: ruby redo retry