Hash Ruby

key = {:a=>1}      # This hash will be a key in another hash!
p h = { key => 2 }   # This hash has a mutable key
p h[key]             # => 2: get value associated with key
p key.clear          # Mutate the key
p h[key]             # => nil: no value found for mutated key
p h.rehash           # Fix up the hash after mutation
p h[key]             # => 2: now the value is found again