Rubyリファレンス: Home

cycle (Array)

Edit   History

Ruby 1.8.7 Ruby 1.9

標準クラス・モジュール > Array > cycle

array.cycle([n]) {|item| block }

cycleメソッドは、配列の要素の数だけブロックを繰り返し実行し、その繰り返しを引数n回続けます。繰り返しごとにブロック引数itemには各要素が順に入ります。ブロックを指定しない場合はEnumeratorオブジェクトを返します。

arr = [1, 2, 3, 4, 5]
arr.cycle(2) {|item| print "#{item} " }
puts ""
1 2 3 4 5 1 2 3 4 5

引数nを省略すると、繰り返しを永遠に続けます。次の例は、Ctrl+Cキーを押すまで繰り返しを何度も続けます。

arr = [1, 2, 3, 4, 5]
puts "Ctrl+C to stop"
begin
  arr.cycle {|item| puts item; sleep(1) }
rescue Interrupt
  puts "bye"
end
Ctrl+C to stop
1
2
3
4
5
1
2
bye

関連項目