如何在Ruby中实现这种类型的for循环?
for(int i=0; i<array.length; i++) {
}
发布于 2010-01-09 17:03:22
array.each do |element|
element.do_stuff
end
或
for element in array do
element.do_stuff
end
如果您需要索引,可以使用以下命令:
array.each_with_index do |element,index|
element.do_stuff(index)
end
发布于 2013-08-27 14:16:05
我一直点击这个链接作为谷歌"ruby for loop“的顶部链接,所以我想为循环添加一个解决方案,其中的步长不是简单的'1‘。对于这些情况,您可以使用Numerics和Date对象上的'step‘方法。我认为这是“for”循环的近似值。
start = Date.new(2013,06,30)
stop = Date.new(2011,06,30)
# step back in time over two years, one week at a time
start.step(stop, -7).each do |d|
puts d
end
发布于 2017-06-10 10:34:09
其等价性为
for i in (0...array.size)
end
或
(0...array.size).each do |i|
end
或
i = 0
while i < array.size do
array[i]
i = i + 1 # where you may freely set i to any value
end
https://stackoverflow.com/questions/2032875
复制相似问题