Chinaunix首页 | 论坛 | 博客
  • 博客访问: 640303
  • 博文数量: 233
  • 博客积分: 2221
  • 博客等级: 大尉
  • 技术积分: 3184
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-16 14:01
个人简介

瓜瓜派的瓜瓜

文章分类

全部博文(233)

文章存档

2013年(28)

2012年(197)

2011年(8)

分类: IT业界

2012-01-09 11:02:55

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
# ... 也是一直循环。

阅读(661) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~