Iterate through a hash in Ruby
August 15, 2022 ‐ 1 min read
Looping over the contents of a hash in Ruby is quite similar to looping over the contents of an array. We can make use of the .each
method, which is actually an alias for the .each_pair
method, that returns an enumerator.
The key and value of the hash contents are passed to the enumerator.
hash = {
python: 'Django',
php: 'Laravel',
ruby: 'Ruby on Rails',
}
hash.each do |key, value|
puts "Write #{key} with #{value}"
end
#=> Write python with Django
#=> Write php with Laravel
#=> Write ruby with Ruby on Rails
Besides the .each
method we have other options available to us as well:
each_key
to loop over the keys in a hash.each_value
to loop over the values in a hash.each_with_index
to loop over the key and values in a hash with a corresponding index.