可能重复:
Is there a reason that we cannot iterate on “reverse Range” in ruby?
这就像魔法一样。
for i in 1..10
...
end
这种落后的for循环是否也应该是直观的?
for i in 10..1
...
end
如果有一些语法上的原因,为什么这不起作用,我觉得必须改变ruby以允许它。以这种方式向后写循环只是直观的。
答案 0 :(得分:12)
尝试类似
的内容10.downto(1) { |i| ... }
答案 1 :(得分:11)
1..10
属于Range类,不直接与任何循环结构相关联。并且没有大于10且小于1的数字,因此范围10..1
为空。
PS我不记得我最后一次在ruby中编写for循环的时间。也许来自http://www.ruby-doc.org/core-1.9.2/Enumerable.html的东西会更好地为你服务?