我不确定为什么这不起作用。我想每 1000 或 10,000 次迭代做一些事情。可以说我想使用该puts
命令。我怎样才能做到这一点?
(1..100000).each do |number|
i = i+1
if i%1000==0
puts "finished: #{i}"
end
end
我不确定为什么这不起作用。我想每 1000 或 10,000 次迭代做一些事情。可以说我想使用该puts
命令。我怎样才能做到这一点?
(1..100000).each do |number|
i = i+1
if i%1000==0
puts "finished: #{i}"
end
end
我知道您想使用模数,但我想分享一下,step
在 ruby 中有一种方法称为范围,您可以使用它
(0..100000).step(1000) do |number|
puts number
end
转动
if 1%1000==0
到
if i%1000==0
此外,您还没有声明或最初定义 variable i
。你是说变量number
吗?如果是这样,那么做:
number= number + 1
if number % 1000 ..
清除事情:
该声明:
(1..10000).each do |number|
将从 1 到 10000 的范围内一次取每个数字一个。您可以使用您在括号内number
定义的变量来获取该值。| |
通过每次迭代,它将增加一个。因此,您应该在每个块中处理的变量是number
而不是未定义的变量。网上有很多关于红宝石块和数组等的好教程,所以请查看它们(我正在阅读的很酷的博客:http ://ruby.bastardsbook.com/chapters/collections/ )希望这会有所帮助:) (还请查看其他两个答案,对 jvnill 大赞,我每天都学到一些东西:))