19
Właśnie zacząłem uczyć się ruby. Mam szereg skrótów. Chcę móc sortować tablicę na podstawie elementu w haśle. Myślę, że powinienem móc użyć metody sort_by. Czy ktoś może ci pomóc?Metoda ruby sort_by
#array of hashes
array = []
hash1 = {:name => "john", :age => 23}
hash2 = {:name => "tom", :age => 45}
hash3 = {:name => "adam", :age => 3}
array.push(hash1, hash2, hash3)
puts(array)
Oto mój kod sort_by:
# sort by name
array.sort_by do |item|
item[:name]
end
puts(array)
Nic nie dzieje się do tablicy. Nie ma również błędu.
dziękuję. Po prostu też zorientowałem się. Widziałem inny sort_by przykład. Tak więc sort_by nie działa w miejscu. –
Metody Bang (te kończące się z!) Modyfikują się, ale dobrze jest nie używać ich i tworzyć nowe obiekty jako zmodyfikowane wersje starych. Subtelne błędy można wprowadzać do programów, umożliwiając mutację obiektów. – quandrum
Dziękuję za wgląd. –