[技巧]Redo和Retry比较
本帖最后由 2gua 于 2010-12-09 09:14 编辑redo和retry都是用来重新执行部分循环,但不同点在于:redo只是重新执行当前循环,而retry重新执行整个循环。
redo举例:
(0..5).each do |i|
puts "Value: #{i}"
redo if i > 2
end
结果显示,只有最后的迭代(3)被重复了:
Value: 0
Value: 1
Value: 2
Value: 3
Value: 3
Value: 3
# ... 3一直循环。
retry举例:
(0..5).each do |i|
puts "Value: #{i}"
retry if i > 2
end
retry执行后,循环又从最先开始了:
Value: 0
Value: 1
Value: 2
Value: 3
Value: 0
Value: 1
Value: 2
# ... 也是一直循环。
回复 1# 2gua
教课呢吧 瓜哥! 回复 2# 中关村村草
宣传Ruby呀,哈哈哈。 回复 3# 2gua
瓜哥 今儿怎没见你的大作啦 回复 4# 中关村村草
今天比较忙,刚才还出去了下,等一下看看。
页:
[1]