0
0
Rubyprogramming~5 mins

Each as the primary iterator in Ruby

Choose your learning style9 modes available
Introduction

We use each to go through every item in a list one by one. It helps us do something with each item easily.

When you want to print every item in a list.
When you want to add something to each item in a list.
When you want to check or find something in a list by looking at each item.
When you want to perform the same action on all items in a collection like an array or hash.
Syntax
Ruby
collection.each do |item|
  # code to run for each item
end

The each method works on collections like arrays and hashes.

The block between do and end runs once for each item.

Examples
Prints each number in the array.
Ruby
numbers = [1, 2, 3]
numbers.each do |number|
  puts number
end
Nothing prints because the array is empty.
Ruby
empty_array = []
empty_array.each do |item|
  puts item
end
Prints the single item in the array.
Ruby
single_item = [42]
single_item.each do |item|
  puts item
end
Prints each key and value in the hash.
Ruby
hash = {a: 1, b: 2}
hash.each do |key, value|
  puts "Key: #{key}, Value: #{value}"
end
Sample Program

This program shows how each goes through the list of fruits and prints a message for each one. The original list stays the same.

Ruby
fruits = ["apple", "banana", "cherry"]

puts "Fruits before iteration:"
puts fruits

fruits.each do |fruit|
  puts "I like #{fruit}!"
end

puts "Fruits after iteration:"
puts fruits
OutputSuccess
Important Notes

Time complexity: each runs once for every item, so it is O(n) where n is the number of items.

Space complexity: each does not create a new list, so it uses little extra space.

A common mistake is trying to change the original list inside each without reassigning it, which does not work.

Use each when you want to do something with each item but do not need to create a new list. Use map if you want a new list with changed items.

Summary

each helps you do something with every item in a list.

It works on arrays and hashes by running a block of code for each item.

The original list stays the same after using each.