Feature #7006
closedAdd Enumerable#grouped_in as a each_slice without the block
Description
I'd like to transform [1, 2, 3, 4] into [[1, 2], [3, 4]].
Currently I can use something like:
a = []; [1, 2, 3, 4].each_slice(2){|chunk| a << chunk}
But I'd prefer to write just:
a = [1, 2, 3, 4].grouped_in(2)
Or any other method name you would choose, like "slices" or something else.
Updated by jeremyevans0 (Jeremy Evans) over 12 years ago
This should work:
a = [1, 2, 3, 4].each_slice(2).to_a
I don't see a reason to create another method to do this.
Updated by marcandre (Marc-Andre Lafortune) over 12 years ago
- Status changed from Open to Rejected
Indeed, to_a
is the answer. Note that ActiveSupport
has a similar in_groups_of
that will return the results even when no block is given.
Updated by rosenfeld (Rodrigo Rosenfeld Rosas) over 12 years ago
Thanks, I didn't know that. I can't close this issue myself. Could someone do that, please?
Updated by marcandre (Marc-Andre Lafortune) over 12 years ago
rosenfeld (Rodrigo Rosenfeld Rosas) wrote:
Could someone do that, please?
Already done.
Updated by rosenfeld (Rodrigo Rosenfeld Rosas) over 12 years ago
Ah, okay, thank you, didn't notice before :P