Project

General

Profile

Actions

Feature #7006

closed

Add Enumerable#grouped_in as a each_slice without the block

Added by rosenfeld (Rodrigo Rosenfeld Rosas) over 11 years ago. Updated over 11 years ago.

Status:
Rejected
Assignee:
-
Target version:
[ruby-core:47474]

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 11 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 11 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 11 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 11 years ago

rosenfeld (Rodrigo Rosenfeld Rosas) wrote:

Could someone do that, please?

Already done.

Updated by rosenfeld (Rodrigo Rosenfeld Rosas) over 11 years ago

Ah, okay, thank you, didn't notice before :P

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0