Ruby - Itérateurs

Les itérateurs ne sont que des méthodes supportées par les collections . Les objets qui stockent un groupe de membres de données sont appelés collections. Dans Ruby, les tableaux et les hachages peuvent être appelés collections.

Les itérateurs renvoient tous les éléments d'une collection, l'un après l'autre. Nous discuterons ici de deux itérateurs, chacun et collecté . Regardons-les en détail.

Ruby chaque itérateur

Chaque itérateur renvoie tous les éléments d'un tableau ou d'un hachage.

Syntaxe

collection.each do |variable|
   code
end

Exécute le code pour chaque élément de la collection . Ici, la collection peut être un tableau ou un hachage ruby.

Exemple

#!/usr/bin/ruby

ary = [1,2,3,4,5]
ary.each do |i|
   puts i
end

Cela produira le résultat suivant -

1
2
3
4
5

Vous associez toujours chaque itérateur à un bloc. Il renvoie chaque valeur du tableau, une par une, au bloc. La valeur est stockée dans la variablei puis affiché à l'écran.

Ruby collect Iterator

L' itérateur de collecte renvoie tous les éléments d'une collection.

Syntaxe

collection = collection.collect

La méthode de collecte ne doit pas toujours être associée à un bloc. La méthode collect renvoie la collection entière, qu'il s'agisse d'un tableau ou d'un hachage.

Exemple

#!/usr/bin/ruby

a = [1,2,3,4,5]
b = Array.new
b = a.collect
puts b

Cela produira le résultat suivant -

1
2
3
4
5

NOTE- La méthode de collecte n'est pas la bonne façon de faire la copie entre les tableaux. Il existe une autre méthode appelée clone , qui devrait être utilisée pour copier un tableau dans un autre tableau.

Vous utilisez normalement la méthode collect lorsque vous souhaitez faire quelque chose avec chacune des valeurs pour obtenir le nouveau tableau. Par exemple, ce code produit un tableau b contenant 10 fois chaque valeur de a .

#!/usr/bin/ruby

a = [1,2,3,4,5]
b = a.collect{|x| 10*x}
puts b

Cela produira le résultat suivant -

10
20
30
40
50