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