Ruby - Iteratori

Gli iteratori non sono altro che metodi supportati dalle raccolte . Gli oggetti che archiviano un gruppo di membri di dati sono chiamati raccolte. In Ruby, gli array e gli hash possono essere definiti raccolte.

Gli iteratori restituiscono tutti gli elementi di una raccolta, uno dopo l'altro. Discuteremo qui due iteratori, ciascuno e collect . Vediamoli in dettaglio.

Ruby ogni iteratore

L'iteratore each restituisce tutti gli elementi di un array o di un hash.

Sintassi

collection.each do |variable|
   code
end

Esegue il codice per ogni elemento nella raccolta . Qui, la raccolta potrebbe essere un array o un hash ruby.

Esempio

#!/usr/bin/ruby

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

Questo produrrà il seguente risultato:

1
2
3
4
5

Associ sempre ogni iteratore a un blocco. Restituisce ogni valore dell'array, uno per uno, al blocco. Il valore viene memorizzato nella variabilei e quindi visualizzato sullo schermo.

Ruby raccoglie Iterator

L' iteratore collect restituisce tutti gli elementi di una raccolta.

Sintassi

collection = collection.collect

Il metodo collect non deve essere sempre associato a un blocco. Il metodo collect restituisce l'intera raccolta, indipendentemente dal fatto che si tratti di un array o di un hash.

Esempio

#!/usr/bin/ruby

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

Questo produrrà il seguente risultato:

1
2
3
4
5

NOTE- Il metodo collect non è il modo giusto per eseguire la copia tra array. C'è un altro metodo chiamato clone , che dovrebbe essere usato per copiare un array in un altro array.

Normalmente usi il metodo collect quando vuoi fare qualcosa con ciascuno dei valori per ottenere il nuovo array. Ad esempio, questo codice produce un array b contenente 10 volte ogni valore in a .

#!/usr/bin/ruby

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

Questo produrrà il seguente risultato:

10
20
30
40
50