w3school tag section samp for codigos ankle ruby range each

ruby - tag - sobre el rango de rubí?



tag wbr (3)

Como dijo Dav, pero agrega a_a:

(0..20).step(5).to_a # [0, 5, 10, 15, 20]

Me gusta esto

range = (0..10)

¿Cómo puedo obtener un número como este?

0 5 10

más cinco cada vez pero menos de 10

si rango = (0..20) entonces debería obtener esto:

0 5 10 15 20


El método de step descrito en http://ruby-doc.org/core/classes/Range.html debería hacer el trabajo pero perjudica gravemente Puede dañar la legibilidad.

Solo considera:

(0..20).step(5){|n| print '' first '', n }.each{|n| print '' second '',n }

Puede pensar que el paso (5) produce un nuevo Rango, como la pregunta de por qué pretendía inicialmente. Pero cada uno se llama en el (0..20) y debe ser reemplazado por otro paso (5) si desea "reutilizar" el rango 0-5-10-15-20.

Tal vez usted estará bien con algo como (0..3).map{|i| i*5} (0..3).map{|i| i*5} ?

Pero " persistir " en los resultados del método de pasos con .to_a también debería funcionar bien .


Intente usar .step() para pasar en un paso determinado.

(0..20).step(5) do |n| print n,'' '' end

da...

0 5 10 15 20

Como lo menciona dominikh, puede agregar .to_a al final para obtener una forma almacenable de la lista de números: (0..20).step(5).to_a