Ruby - iteradores

Los iteradores no son más que métodos admitidos por colecciones . Los objetos que almacenan un grupo de miembros de datos se denominan colecciones. En Ruby, las matrices y los hashes se pueden denominar colecciones.

Los iteradores devuelven todos los elementos de una colección, uno tras otro. Aquí discutiremos dos iteradores, cada uno y recopilar . Miremos estos en detalle.

Ruby cada iterador

Cada iterador devuelve todos los elementos de una matriz o un hash.

Sintaxis

collection.each do |variable|
   code
end

Ejecuta código para cada elemento de la colección . Aquí, la colección puede ser una matriz o un hash ruby.

Ejemplo

#!/usr/bin/ruby

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

Esto producirá el siguiente resultado:

1
2
3
4
5

Siempre asocia cada iterador con un bloque. Devuelve cada valor de la matriz, uno por uno, al bloque. El valor se almacena en la variablei y luego se muestra en la pantalla.

Ruby recoger Iterador

El iterador de recopilación devuelve todos los elementos de una colección.

Sintaxis

collection = collection.collect

El método de recopilación no siempre tiene que estar asociado con un bloque. El método de recopilación devuelve la colección completa, independientemente de si es una matriz o un hash.

Ejemplo

#!/usr/bin/ruby

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

Esto producirá el siguiente resultado:

1
2
3
4
5

NOTE- El método de recopilación no es la forma correcta de copiar entre matrices. Existe otro método llamado clon , que debe usarse para copiar una matriz en otra matriz.

Normalmente utiliza el método de recopilación cuando desea hacer algo con cada uno de los valores para obtener la nueva matriz. Por ejemplo, este código produce una matriz b que contiene 10 veces cada valor en a .

#!/usr/bin/ruby

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

Esto producirá el siguiente resultado:

10
20
30
40
50