Ciclo for en Ruby.

Si éste es tu primer acercamiento a la programación, necesitas saber que un ciclo es un bloque de instrucciones que se repite un número definido de veces, existen diferentes tipos de ellos y uno de los más comunes es el ciclo for.

El ciclo for en Ruby, permite que nosotros definamos un rango entre el cual, un iterador, se irá moviendo, sirve para repetir un proceso un determinado número de veces tomando un iterador como referencia entre éstas veces. Si lo anterior no te quedó muy claro, es porque necesitamos un ejemplo:

for i in(0..9)
    puts i
end

Como ves, la sintaxis es clara y muy sencilla, tenemos un iterador  y un rango 0..9, lo que significa que el iterador iniciará el ciclo siendo igual a nueve e irá aumentando de uno en uno hasta llegar al 9, cada vez que aumenta entra al bloque de instrucciones, éste bloque lo único que hace en el ejmplo es imprimir el valor del iterador i.

Existen un grupo de palabras reservadas que tienen la capacidad de modificar el comportamiento de un ciclo, la primera que veremos es break y lo que hace es sacar el ciclo, es decir, sin importar en qué parte del rango se encuentre el iterador, el ciclo se terminará una vez haya encontrado la palabra break, veamos un ejemplo:

for i in(0..9)
    if(i == 3) break end
    puts i
end

En el ejemplo anterior, una vez el ciclo valga 3, se terminará y ya no recorrerá hacia el 4.

La siguiente palabra es next y lo que hace es sencillamente saltar la interación en la que se encuentra y pasar a la siguiente.

for i in(0..9)
    if(i == 3) next end
    puts i
end

De modo que si tu probaras el ejemplo anterior, notarías que el 3 no aparece en la consola, y la razón es que saltamos esa iteración a través de la palabra reservada next.

Por último tenemos una con la que querrás tener mucho cuidado, y es redo, y lo que hace es sencillamente repetir la iteración, es decir, lo contrario a next.

for i in(0..9)
    puts i
    if(i == 3) redo end
end

Como te mencionaba, ten cuidado, puesto que el ejemplo anterior se ciclará imprimiendo 3 una y otra vez porque redo le está pidiendo que repita la iteración.

Sé que quedarás con dudas como por ejemplo, qué pasaría si quiero aumentar de 2 en 2, en lugar de 1 en 1. Bien eso lo veremos en otros tipos de ciclos más Rubyanos (si existiera esa palabra) que el for.

Acerca del autor:

Programador en constante aprendizaje, futuro ing. en Desarrollo de Software. "La escuela es para socializar, internet es para aprender" Viviendo en la era javaScript.

Twitter del autor:

One comment

  1. hoffman says:

    Como se hace para que mantenga un espacio para separar los numeros horizontalmente ? no consigo averiguarlo. Gracias.

Leave a Reply

Your email address will not be published. Required fields are marked *