1. Technology

Using each - Beginning Ruby Tutorial, Control Structures

Looping through a hash in Ruby with the each method


Just like the array object, the hash object has an each method that can be used to apply a block of code on each item in the hash. First we will create a simple hash object that contains some contact information:
 >> contact_info = { 'name' => 'Bob', 'phone' => '111-111-1111' } 
Then we'll call the each method and create a single line block of code to process and print the results.
 >> contact_info.each { |key, value| print key + ' = ' + value + "\n" } 
This will produce the following output:
 name = Bob
 phone = 111-111-1111 
This works exactly like the each method for an array object with one crucial difference. For a hash, you create two elements - one for the hash key, and one for the value. Like the array each method, these elements are placeholders that are used to pass each key / value pair into the code block as Ruby loops through the hash.

You can easily extend the code block to multiple lines by using do to define a larger block:

 >> contact_info.each do |key, value|
 .. print print key + ' = ' + value
 .. print "\n"
 .. end 
This is exactly the same as the first example, except that the block is defined as everything after the elements (in pipes) and before the end statement.

Previous: Looping through an array in Ruby with the each method

  1. About.com
  2. Technology
  3. Perl
  4. Similar Languages
  5. Using each: Beginning Ruby Tutorial, Control Structures

©2014 About.com. All rights reserved.