Mega Code Archive

 
Categories / Ruby / Hash
 

Hash as a key

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