Class: Array
- Defined in:
- lib/active_support/core_ext/array.rb,
lib/active_support/core_ext/blank.rb
Overview
:nodoc:
Direct Known Subclasses
Instance Method Summary collapse
-
#in_groups_of(number, fill_with = nil, &block) ⇒ Object
Iterate over an array in groups of a certain size, padding any remaining slots with specified value (
nil
by default).
Methods included from ActiveSupport::CoreExtensions::Array::Conversions
#to_param, #to_sentence, #to_xml
Instance Method Details
#in_groups_of(number, fill_with = nil, &block) ⇒ Object
Iterate over an array in groups of a certain size, padding any remaining slots with specified value (nil
by default).
E.g.
%w(1 2 3 4 5 6 7).in_groups_of(3) {|g| p g}
["1", "2", "3"]
["4", "5", "6"]
["7", nil, nil]
15 16 17 18 19 20 |
# File 'lib/active_support/core_ext/array.rb', line 15 def in_groups_of(number, fill_with = nil, &block) require 'enumerator' collection = dup collection << fill_with until collection.size.modulo(number).zero? collection.each_slice(number, &block) end |