Czy Enumerable#group_by
zachowuje oryginalne zamówienie w ramach każdej wartości? Kiedy dostaję to:Czy grupa enumerable's group_by zachowuje zamówienie Enumerable?
[1, 2, 3, 4, 5].group_by{|i| i % 2}
# => {1=>[1, 3, 5], 0=>[2, 4]}
jest to zagwarantowane, że, na przykład, tablica [1, 3, 5]
zawiera elementy w tej kolejności, a nie na przykład [3, 1, 5]
?
Czy istnieje jakiś opis dotyczący tego punktu?
Nie mówię o kolejności między kluczami 1
i 0
. To inna sprawa.
'Enumerable' używa' each' przemierzać kolekcja. Zmiana kolejności wymagałaby dodatkowego wysiłku. – Stefan
Ale wcześniej dowiedziałem się, że reminescent "Enumerable # sort" nie jest stabilny. Więc nie mogłem być tego pewien. – sawa