Ruby - Iterate Over a Hash

1. Introduction

Hashes are a fundamental data structure in Ruby, storing key-value pairs. Iterating over a hash allows developers to access each of these pairs, and Ruby provides several methods to do so. This guide will present different ways to iterate over a hash in Ruby.

2. Program Steps

1. Create a hash with multiple key-value pairs.

2. Use various methods, including each, each_key, and each_value, to iterate over the hash.

3. Within each iteration, print out relevant data from the hash.

3. Code Program

# Creating a hash with key-value pairs
sample_hash = {
  "name" => "John",
  "age" => 28,
  "job" => "Developer",
  "city" => "San Francisco"
}
# Using the each method to iterate over key-value pairs
puts "Using each method:"
sample_hash.each do |key, value|
  puts "#{key}: #{value}"
end
# Using the each_key method to iterate over keys
puts "\nUsing each_key method:"
sample_hash.each_key do |key|
  puts "Key: #{key}"
end
# Using the each_value method to iterate over values
puts "\nUsing each_value method:"
sample_hash.each_value do |value|
  puts "Value: #{value}"
end

Output:

Using each method:
name: John
age: 28
job: Developer
city: San Francisco
Using each_key method:
Key: name
Key: age
Key: job
Key: city
Using each_value method:
Value: John
Value: 28
Value: Developer
Value: San Francisco

Explanation:

- The each method in Ruby provides a way to traverse both keys and values in a hash. By providing two block variables (like key and value), you can access and use both within the block.

- The each_key method specifically iterates only over the keys of the hash, disregarding the values.

- Similarly, each_value focuses on the values in the hash, skipping the keys.

By understanding and using these methods, you can control how you iterate over a hash based on your specific needs.