I''ve found useful to have a port of the Array#each_with_index functionality to the already existent grouping methods (in_groups_of, in_groups). That way we add the ability to iterate over an array in groups and having an index for each group. In case you think it''s interesting I''ve created a couple of methods: Array#with_index_in_groups_of / with_index_in_groups and sent a pull request here: https://github.com/rails/rails/pull/556 Cheers!, Juanjo. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
On Sat, May 14, 2011 at 06:44:44AM -0700, Juanjo Bazan wrote:> I''ve found useful to have a port of the Array#each_with_index > functionality to the already existent grouping methods (in_groups_of, > in_groups). That way we add the ability to iterate over an array in > groups and having an index for each group. > > In case you think it''s interesting I''ve created a couple of methods: > Array#with_index_in_groups_of / with_index_in_groups and sent a pull > request here: https://github.com/rails/rails/pull/556Can''t you just use the enumerators that are built in to Array itself? For example: irb(main):006:0> x = %w(1 2 3 4 5 6 7) => ["1", "2", "3", "4", "5", "6", "7"] irb(main):007:0> x.each_slice(3).each_with_index { |(a, b, c), i| p [i, [a, b, c]] } [0, ["1", "2", "3"]] [1, ["4", "5", "6"]] [2, ["7", nil, nil]] => nil irb(main):008:0> -- Aaron Patterson http://tenderlovemaking.com/
> Can''t you just use the enumerators that are built in to Array itself? > For example: > > irb(main):006:0> x = %w(1 2 3 4 5 6 7) > => ["1", "2", "3", "4", "5", "6", "7"] > irb(main):007:0> x.each_slice(3).each_with_index { |(a, b, c), i| > p [i, [a, b, c]] } > [0, ["1", "2", "3"]] > [1, ["4", "5", "6"]] > [2, ["7", nil, nil]] > => nil > irb(main):008:0>Sure, actually both methods are just syntactic sugar over the grouping methods: with_index_in_groups_of = in_groups_of + each_with_index with_index_in_groups = in_groups + each_with_index J. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.