Project

General

Profile

Actions

Bug #18486

closed

Enumerable#group_by ordering appears to have changed and doesn't match docs.

Added by masukomi@masukomi.org (kay rhodes) 6 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:107099]

Description

The documentation for Enumerable#group_by suggests the following:

(1..6).group_by { |i| i%3 } #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]}

it actually produces this (same values different order). Tested in 2.6.3 and 3.0.2

(1..6).group_by { |i| i%3 } #=> {1=>[1, 4], 2=>[2, 5], 0=>[3, 6]}

as hash table ordering is something people depend on these days I wonder if the reordering of the keys may be more than just a minor documentation bug.

I noticed this in 2.6.3. Assuming the docs matched reality when written this implies we've been living with this for a while. I don't know how long before that this actually changed.

Actions

Also available in: Atom PDF