Itérer dans un tableau Ruby

Nurudeen Ibrahim 30 janvier 2023
  1. Itérer dans un tableau Ruby en utilisant la méthode each
  2. Itérer dans un tableau Ruby à l’aide de la boucle for
  3. Itérer dans un tableau Ruby à l’aide de la méthode reverse_each
  4. Itérer dans un tableau Ruby à l’aide de la méthode each_with_index
  5. Itérer dans un tableau Ruby en utilisant la méthode map
  6. Itérer dans un tableau Ruby à l’aide de la méthode select
  7. Itérer dans un tableau Ruby avec la méthode reject
Itérer dans un tableau Ruby

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]

Article connexe - Ruby Array