0
looper = (0..3).cycle
20.times { puts looper.next }

どうにかして次の 3 を見つけることができますか? .nextいつでも特定の要素を取得できるかどうかを意味します。最初の要素から始まるループを表示するだけではありません。

アップデート

もちろん、質問を投稿する前にruby​​ docを調べました。しかし、私はそこに答えを見つけられませんでした...

更新2

入力

looper = (0..max_cycle).cycle

max_cycle= スクリプトが実行されるたびに異なる変数

looper= 常に間隔 (0..max_cycle) からの変数ですが、スクリプト開始時の現在の値は任意です。それはに基づいていますTime.now.hour

出力

スクリプトの実行中の任意の時点での.next値を知りたいlooper

4

2 に答える 2

4

あなたの質問はあまり明確ではありません。多分あなたはこのようなものが欲しいですか?

(current_value + 1) % (max_cycle + 1)

たとえば、max_cycle = 3次の出力が得られた場合:

current_value    returns
      0             1
      1             2
      2             3
      3             0
于 2010-04-14T00:08:48.413 に答える
2

http://ruby-doc.org/core-1.9/classes/Enumerable.html#M003074

于 2010-04-13T21:55:37.657 に答える