Itérer dans un tableau Ruby
-
Itérer dans un tableau Ruby en utilisant la méthode
each
-
Itérer dans un tableau Ruby à l’aide de la boucle
for
-
Itérer dans un tableau Ruby à l’aide de la méthode
reverse_each
-
Itérer dans un tableau Ruby à l’aide de la méthode
each_with_index
-
Itérer dans un tableau Ruby en utilisant la méthode
map
-
Itérer dans un tableau Ruby à l’aide de la méthode
select
-
Itérer dans un tableau Ruby avec la méthode
reject
La classe array dans Ruby inclut le mixin Enumerable et, par conséquent, elle possède plusieurs méthodes transversales. Dans ce didacticiel, nous examinerons ces méthodes énumérables et d’autres façons d’itérer dans un tableau en Ruby.
Itérer dans un tableau Ruby en utilisant la méthode each
C’est l’itérateur le plus utilisé en Ruby.
Exemples de codes :
fruits = ['Orange', 'Apple', 'Banana']
fruits.each do |fruit|
puts fruit
end
Production :
Orange
Apple
Banana
Itérer dans un tableau Ruby à l’aide de la boucle for
Cette méthode peut avoir un effet secondaire indésirable et, par conséquent, elle n’est pas recommandée.
Exemples de codes :
fruits = ['Orange', 'Apple', 'Banana']
for fruit in fruits
puts fruit
end
Production :
Orange
Apple
Banana
Si une variable fruit
avait été précédemment définie dans l’exemple ci-dessus, la boucle for
l’écraserait avec le dernier élément du tableau fruits
. Il s’agit d’un problème de portée, et le comportement est illustré ci-dessous.
Exemples de codes :
fruit = 'Mango'
fruits = ['Orange', 'Apple', 'Banana']
for fruit in fruits
puts fruit
end
puts fruit
Production :
Orange
Apple
Banana
Banana
Itérer dans un tableau Ruby à l’aide de la méthode reverse_each
Comme son nom l’indique, cela fonctionne comme la méthode each
mais dans l’ordre inverse.
Exemples de codes :
fruits = ['Orange', 'Apple', 'Banana']
fruits.reverse_each do |fruit|
puts fruit
end
Production :
Banana
Apple
Orange
Itérer dans un tableau Ruby à l’aide de la méthode each_with_index
Cette méthode est utile dans une situation où vous devez obtenir chaque élément d’un tableau et l’index.
Exemples de codes :
fruits = ['Orange', 'Apple', 'Banana']
fruits.each_with_index do |fruit|
puts "#{index}. #{fruit}"
end
Production :
0. Orange
1. Apple
2. Banana
Bien que les exemples ci-dessus montrent la manière la plus simple d’itérer dans un tableau, les méthodes sont généralement utiles lorsque vous devez parcourir un tableau et effectuer certaines opérations sur chacun de ses éléments - par exemple, parcourir une liste d’adresses e-mail et envoyer un message à chacun d’eux.
Les méthodes restantes que nous mentionnerons dans ce tutoriel sont un peu différentes de celles mentionnées ci-dessus dans le sens où elles transforment un tableau en un autre.
Itérer dans un tableau Ruby en utilisant la méthode map
C’est utile si vous voulez modifier chaque élément d’un tableau et les avoir comme un nouveau tableau.
Exemples de codes :
numbers = [2, 4, 6]
doubles = numbers.map do |n|
n * 2
end
puts doubles
Production :
[4, 8, 12]
Notez qu’il existe également une méthode collect
, un alias pour map
, et les deux se comportent de la même manière.
Itérer dans un tableau Ruby à l’aide de la méthode select
Comme son nom l’indique, la méthode select
vous permet de ne sélectionner que certains éléments d’un tableau qui répondent à une condition logique spécifique. Elle produit également un nouveau tableau.
Exemples de codes :
numbers = [2, 3, 4, 5, 6, 7, 8, 9]
perfect_squares = numbers.select do |n|
Math.sqrt(n) % 1 == 0
end
puts perfect_squares
Production :
[4, 9]
Notez qu’il existe également une méthode find_all
qui est un alias pour select
, et les deux se comportent de la même manière.
Itérer dans un tableau Ruby avec la méthode reject
La méthode reject
est l’opposé de select
, et elle est utile lorsque vous devez rejeter certains éléments spécifiques d’un tableau et renvoyer les autres sous la forme d’un nouveau tableau.
Exemples de codes :
numbers = [-2, -1, 0, 1, 2, 3]
positive_integers = numbers.reject do |n|
n < 1
end
puts positive_integers
Production :
[1, 2, 3]