Menu
Coddy logo textTech

Iterador Each

Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 65 de 88.

Ruby ofrece una forma más elegante de recorrer arreglos que el uso de bucles for o while. El iterador each es la forma preferida en Ruby para procesar cada elemento de una colección.

Aquí está la sintaxis básica:

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

fruits.each do |fruit|
  puts fruit
end

Esto muestra cada fruta en una línea separada. La variable entre las barras verticales (|fruit|) se llama variable de bloque. Mantiene temporalmente cada elemento a medida que el iterador se desplaza por el arreglo.

Para bloques de una sola línea, puedes usar llaves en lugar de do...end:

numbers = [1, 2, 3]
numbers.each { |n| puts n * 2 }

El método each es potente porque puedes realizar cualquier operación en cada elemento. Aquí tienes un ejemplo que calcula un total acumulado:

prices = [10, 25, 15]
total = 0

prices.each do |price|
  total += price
end

puts total  # Salida: 50

A diferencia de los bucles for, la variable de bloque en each permanece contenida dentro del bloque, manteniendo tu código más limpio y menos propenso a comportamientos inesperados.

challenge icon

Desafío

Fácil

Lee una sola línea de entrada que contenga números enteros separados por comas (por ejemplo, 4,7,2,9,5).

Divide la entrada en un arreglo de enteros, luego usa el iterador each para:

  1. Imprimir cada número multiplicado por 3 en su propia línea
  2. Calcular la suma de todos los números e imprimirla después del bucle

Usa una variable inicializada en 0 antes del bucle para acumular la suma a medida que iteras a través del arreglo.

Por ejemplo, si la entrada es 4,7,2,9,5, la salida debería ser:

12
21
6
27
15
Sum: 27

Si la entrada es 10,20,30, la salida debería ser:

30
60
90
Sum: 60

Si la entrada es 1,2,3,4, la salida debería ser:

3
6
9
12
Sum: 10

Si la entrada es 5, la salida debería ser:

15
Sum: 5

Hoja de referencia

El iterador each es la forma preferida en Ruby para recorrer arrays:

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

fruits.each do |fruit|
  puts fruit
end

La variable entre barras verticales (|fruit|) es una variable de bloque que contiene temporalmente cada elemento.

Para bloques de una sola línea, utiliza llaves:

numbers = [1, 2, 3]
numbers.each { |n| puts n * 2 }

Puedes realizar operaciones en cada elemento, como calcular un total acumulado:

prices = [10, 25, 15]
total = 0

prices.each do |price|
  total += price
end

puts total  # Salida: 50

Pruébalo tú mismo

# Leer los enteros separados por comas
input = gets.chomp

# Dividir la entrada en un arreglo de enteros
numbers = input.split(",").map(&:to_i)

# Inicializar la variable sum
sum = 0

# TODO: Escribe tu código a continuación
# Usa el iterador each para:
# 1. Imprimir cada número multiplicado por 3
# 2. Sumar cada número a la variable sum

# Imprimir la suma final
puts "Sum: #{sum}"
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos