November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Iterowanie po haszu udostępnia jego elementy w kolejności losowej, a ich sortowanie — za pomocą pośredniczącej tablicy — możliwe jest tylko wtedy, jeśli ich klucze lub wartości są wzajemnie porównywalne. Jeśli nie są, jedyną „wyróżnioną” kolejnością elementów może być kolejność, w jakiej zostały one wstawione do hasza.
Klasa OrderedHash, zdefiniowana w bibliotece orderedhash, funkcjonuje jak normalny hasz, jednocześnie definiując kolejność swych elementów jako kolejność ich wstawienia.
require 'orderedhash' h = OrderedHash.new h[1] = 1 h["Druga"] = 2 h[:Trzecia] = 3 h.keys # => [1, "Druga", :Trzecia] h.values # => [1, 2, 3] h.each { |k,v| puts "#{k} ...