How To Each In Ruby

Ruby is well-known for its clean and elegant syntax that allows developers to create powerful and expressive code. One of the most useful tools that Ruby offers is the each method, which is used to iterate over a collection, such as an array or a hash, and perform actions on its elements. In this blog post, we’ll explore the basics of the each method, and how you can use it in your Ruby programs.

Iterating Over Arrays

In Ruby, the each method is commonly used to iterate over arrays. It allows you to perform an action for every element in the array, without needing to use a loop with a counter variable. Here’s a simple example:

    numbers = [1, 2, 3, 4, 5]

    numbers.each do |number|
      puts number * 2

In this example, we’re using the each method to iterate over the ‘numbers’ array, and then we’re multiplying each element by 2 and printing the result. The code inside the do…end block is executed once for each element in the array, with the current element being assigned to the variable number.

Iterating Over Hashes

You can also use the each method to iterate over hashes. When iterating over hashes, you’ll usually want to access both the key and the value of each item. Here’s an example:

    books = {
      "The Catcher in the Rye" => "J.D. Salinger",
      "To Kill a Mockingbird" => "Harper Lee",
      "1984" => "George Orwell"

    books.each do |title, author|
      puts "#{title} was written by #{author}"

In this example, we’re iterating over the ‘books’ hash and printing the title and author of each book. The code inside the do…end block is executed once for each key-value pair in the hash, with the current key being assigned to the variable title and the current value being assigned to the variable author.

Using ‘each’ with a One-liner Block

For shorter blocks of code, you can use the curly brace notation instead of the do…end notation. This is particularly useful when you want to write a one-liner. Here’s a simple example:

    names = ["Alice", "Bob", "Charlie"]
    names.each { |name| puts "Hello, #{name}!" }

This example does the same thing as the previous examples, but this time we’re using the curly brace notation to write a one-liner block of code. The result will be a greeting message for each name in the ‘names’ array.


The each method is an essential tool for any Ruby developer, as it allows you to easily iterate over arrays and hashes and perform actions on their elements. By using each in combination with blocks, you can write clean, concise, and expressive code that is easy to understand and maintain. Happy coding!