Hashes Cheat Sheet

Name Description Syntax Examples
Hash literal Create a hash { key: “value” } hash = {}
ages = { ferdi: 32, hana: 33, mario: 22 }
Hash.new Create a new empty hash (equivalent to {}) Hash.new hash = Hash.new
Hash access Access a value by its key hash[key] ages[:hana]
Key deletion Delete a key-value pair by its key hash.delete(key) ages.delete(:mario)
Empty hash Remove all pairs from the hash hash.clear ages.clear
Iterate over hash Iterate over all the pairs in the hash hash.each do |key, value|
end
ages.each do |person, age|
puts "#{person} has value: #{age}"
end
Iterate over pairs Iterate over all the pairs in the hash hash.each_pair do |key, value|
end
ages.each_pair do |person, age|
puts "#{person} has value: #{age}"
end
Get key Get a value for a key, with default value if the key does not exist. hash.fetch(key, default) ages.fetch(:ferdi)
ages.fetch(:hugo, 1)
Key existence Ask the hash if it has a certain key hash.has_key?(key) ages.has_key?(:marion)
Value existence Ask the hash if it has a certain value hash.has_value?(value) ages.has_value?(22)
All keys Get all the keys stored in the hash hash.keys ages.keys
All values Get all the values stored in the hash hash.values ages.values
Merge Merge two hashes hash.merge(other_hash) ages.merge({ marion: 30 })