Iterar a través de un array Ruby
-
Iterar a través de un array Ruby usando el método
each
-
Iterar a través de un array de Ruby usando el bucle
for
-
Iterar a través de un array Ruby usando el método
reverse_each
-
Iterar a través de un array Ruby usando el método
each_with_index
-
Iterar a través de un array Ruby usando el método
map
-
Iterar a través de un array Ruby usando el método
select
-
Iterar a través de un array Ruby usando el método
reject
La clase array en Ruby incluye el mixin Enumerable y, como resultado, tiene varios métodos transversales. En este tutorial, veremos estos métodos enumerables y otras formas de iterar a través de un array en Ruby.
Iterar a través de un array Ruby usando el método each
Este es el iterador más utilizado en Ruby.
Códigos de ejemplo:
fruits = ['Orange', 'Apple', 'Banana']
fruits.each do |fruit|
puts fruit
end
Producción :
Orange
Apple
Banana
Iterar a través de un array de Ruby usando el bucle for
Este método puede tener un efecto secundario no deseado y, como resultado, no se recomienda.
Códigos de ejemplo:
fruits = ['Orange', 'Apple', 'Banana']
for fruit in fruits
puts fruit
end
Producción :
Orange
Apple
Banana
Si una variable fruit
se hubiera definido anteriormente en el ejemplo anterior, el bucle for
la sobrescribiría con el último elemento del array fruits
. Es un problema de alcance, y el comportamiento se ilustra a continuación.
Códigos de ejemplo:
fruit = 'Mango'
fruits = ['Orange', 'Apple', 'Banana']
for fruit in fruits
puts fruit
end
puts fruit
Producción :
Orange
Apple
Banana
Banana
Iterar a través de un array Ruby usando el método reverse_each
Como su nombre lo indica, esto funciona como el método each
pero en orden inverso.
Códigos de ejemplo:
fruits = ['Orange', 'Apple', 'Banana']
fruits.reverse_each do |fruit|
puts fruit
end
Producción :
Banana
Apple
Orange
Iterar a través de un array Ruby usando el método each_with_index
Este método es útil en una situación en la que necesita obtener cada elemento de un array y el índice.
Códigos de ejemplo:
fruits = ['Orange', 'Apple', 'Banana']
fruits.each_with_index do |fruit|
puts "#{index}. #{fruit}"
end
Producción :
0. Orange
1. Apple
2. Banana
Aunque los ejemplos anteriores demuestran la forma más sencilla de iterar a través de un array, los métodos suelen ser útiles cuando necesita atravesar un array y realizar algunas operaciones en cada uno de sus elementos, por ejemplo, iterar a través de una lista de direcciones de correo electrónico y enviando un mensaje a cada uno de ellos.
Los métodos restantes que mencionaremos en este tutorial son un poco diferentes de los mencionados anteriormente en el sentido de que transforman un array en otra.
Iterar a través de un array Ruby usando el método map
Es útil si desea modificar cada elemento de un array y tenerlos como un nuevo array.
Códigos de ejemplo:
numbers = [2, 4, 6]
doubles = numbers.map do |n|
n * 2
end
puts doubles
Producción :
[4, 8, 12]
Ten en cuenta que también hay un método collect
, un alias de map
, y ambos se comportan de la misma manera.
Iterar a través de un array Ruby usando el método select
Como su nombre lo indica, el método select
le permite elegir solo elementos específicos de un array que cumplen una condición lógica específica. También produce un nuevo array.
Códigos de ejemplo:
numbers = [2, 3, 4, 5, 6, 7, 8, 9]
perfect_squares = numbers.select do |n|
Math.sqrt(n) % 1 == 0
end
puts perfect_squares
Producción :
[4, 9]
Tenga en cuenta que también hay un método find_all
que es un alias para select
, y ambos se comportan de la misma manera.
Iterar a través de un array Ruby usando el método reject
El método reject
es el opuesto a select
, y es útil cuando necesitas rechazar algunos elementos específicos de un array y devolver los restantes como un nuevo array.
Códigos de ejemplo:
numbers = [-2, -1, 0, 1, 2, 3]
positive_integers = numbers.reject do |n|
n < 1
end
puts positive_integers
Producción :
[1, 2, 3]