November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy posortować tablicę obiektów, być może zgodnie ze specyficznym rozumieniem słowa „sortowanie”.
Tablica jednorodna, zawierająca elementy tego samego typu — na przykład łańcuchy albo liczby — może być posortowana w sposób „naturalny” za pomocą metody Array#sort:
[5.01, -5, 0, 5].sort # => [-5, 0, 5, 5.01] ["Utahraptor", "Ankylosaur", "Maiasaur"].sort # => ["Ankylosaur", "Maiasaur", "Utahraptor"]
Jeżeli jednak sortowanie ma opierać się na innym kryterium — na przykład pewnej własności obiektów lub wyniku zwracanego przez pewną metodę — należy posłużyć się metodą Array#sort_by funkcjonującą w oparciu o stowarzyszony blok kodowy.
arrays = [[1,2,3], [100], [10,20]] arrays.sort_by { |x| x.size ...