【Ruby】配列をずっと循環させる
状況
バッチ処理などで指定時間のあいだずっと配列をぐるぐるループしつづけていたい。
コード
cycle
をつかう。
['apple', 'banana', 'orange', 'peach', 'grape', 'pineapple'].cycle do |fruit| p "I like #{fruit}" end
cycle(3)
のように回転数を指定することもできる。このとき3回転する。
参考
わかりやすく、詳しい。
[Ruby] cycleメソッド(Array)の使い方 | qs Developers
雑感
バッチ処理でたくさんあるデータをぐるぐる回していたい。指定の時間が来たらプロセスはいったん終了される。そしてまた再度プロセスが実行される。その繰り返しがつづく。具体的にはループさせたかったのはテーブルのカラム名だった。カラムごとにデータを処理するために、その名前を配列にして循環させたかった。わざわざ循環させたかった理由は、小刻みにでもすべてのカラムのデータを処理していきたかったからだった。