November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Jednym z kluczy hasza jest modyfikowalny obiekt — tablica lub inny hasz (nie łańcuch) — który być może będzie później modyfikowany. Niestety, modyfikacja taka prowadzi do utraty powiązania wartości z kluczem.
namiary = [10, 5]
treasure_map = { namiary => 'brylanty' }
treasure_map[namiary] # => "brylanty"
# Dodajemy informację o głębokości, na jakiej zakopano brylanty
namiary << -5
namiary # => [10, 5, -5]
treasure_map[namiary] # => nil
# I po brylantach ...
Na szczęście, mimo iż wartość 'brylanty' wydaje się niepowiązana z kluczem namiary, to jednak informacja o ich powiązaniu istnieje w haszu nadal i utracone połączenie można naprawić, wywołując metodę Hash#rehash ...