1

なぜこれが機能しないのかわかりません。1000回または10,000回の反復ごとに何かをしたいと思います。putsコマンドを使用したいとしましょう。どうやってやるの?

(1..100000).each do |number|
  i = i+1
  if i%1000==0
    puts "finished: #{i}"
  end
end
4

2 に答える 2

7

あなたがモジュロを使いたいのは知ってstepいますが、あなたが使用できるルビーの範囲のために呼び出されるメソッドがあることを共有したいと思います

(0..100000).step(1000) do |number|
  puts number
end
于 2013-03-13T00:50:54.697 に答える
5

順番

 if 1%1000==0

 if i%1000==0

また、変数を宣言または最初に定義していませんi。変数のことnumberですか?その場合は、次のようにします。

number= number + 1
if number % 1000 ..

物事をクリアするには:

声明:

(1..10000).each do |number|

1 から 10000 までの範囲で EACH NUMBER を一度に 1 つずつ取得します。括弧内numberに定義した変数を使用してその値を取得できます。| |反復ごとに1ずつ増加します。したがって、各ブロック内で処理する必要がある変数numberは、未定義の変数ではありません。ruby のブロックや配列などに関するオンラインの優れたチュートリアルがたくさんあるので、チェックしてみてください (話しながら読んでいるクールなブログ: http://ruby.bastardsbook.com/chapters/collections/ ) これがお役に立てば幸いです :) (他の2つの回答もチェックしてください。jvnillに大賛成です。私は毎日何かを学んでいます:))

于 2013-03-13T00:38:32.017 に答える