Rubyリファレンス: Home

enum_slice (Enumerable)

Edit   History

Ruby 1.8.7 Ruby 1.9

標準クラス・モジュール > Enumerable > enum_slice

enum.enum_slice(n) {|arr| block }

Ruby 1.8.7のenum_sliceメソッドは、each_sliceの別名です。詳しくはeach_sliceメソッドをご覧ください。Ruby 1.9ではenum_sliceは廃止されました。

(1..8).enum_slice(3) {|arr| print "(" + arr.join(",") + ") " }
puts ""
p (1..8).enum_slice(3).to_a
(1,2,3) (4,5,6) (7,8)
[[1, 2, 3], [4, 5, 6], [7, 8]]

Ruby 1.8.6では、enumeratorライブラリを読み込めばenum_sliceメソッドが使えます。ブロックを渡さずに、戻り値のEnumeratorオブジェクトを利用します。

require "enumerator"
p (1..8).enum_slice(3).to_a
[[1, 2, 3], [4, 5, 6], [7, 8]]

関連項目