Tutorial Ruby #03 Estructuras de decisión y Bucles
Anteriores Tutoriales de este lenguaje
Continuando con los tutoriales de programación Ruby hablaremos ahora con las estructuras de control que nos brinda este lenguaje de programación.
Una de las ventajas y al mismo tiempo un poco confuso para los programadores experimentados es que en Ruby no se usan llaves "{" "}" en nuestro ámbito de programación, ni tampoco terminamos nuestras instrucciones con un ";".
Condicionales
If/else y unless
Ruby tiene algo mas que el if/else como condicional primaria, sino que también tenemos a unless, mientras que If analiza una condición verdadera y de ahí sigue el flujo de instrucciones, unless hace justamente lo opuesto, analiza una condiciona y si es falsa se ejecutan las instrucciones dentro del ámbito.
Ejemplo de if:
a = 5
b = 7
if a<b
puts "a es menor de b"
else
puts "b es menor de a"
end
En este caso como a es menor que b por lo que la condicion es verdadera nos imprimirá el mensaje dentro del if
Ejemplo unless:
a = 5
b = 7
unless a<b
puts "b es menor de a"
else
puts "a es menor de b"
end
Pero en este caso como unless necesita que la condición sea falsa, nos va a imprimir lo que esta dentro de else. También podemos poner nuestro condicional en una sola instrucción si es que nuestro programa es algo simple.
puts "a es menor a b" if a < b
puts "b es menor a a" until a < b
Switch/Case
Aunque en otros lenguajes de programación lo conocemos como un "switch" aqui se usa la palabra reservada "case" y su uso es prácticamente igual.
case calificacion
when [0..69] #Esta es una variable del tipo Range
puts "Reprobado"
when [70..100]
puts "Aprobado"
else
puts "No existe esa calificación o fue mal escrita"
end
NOTA 1: Los comentarios de una sola linea podemos anteponerlos con "#"
NOTA 2: Dentro de nuestro Case podemos usar variables de tipo string, numéricos o en el caso de este ejemplo usamos de clase Range
NOTA 3: Mientras que en otros lenguajes se usa default como opción final en cuanto no tengamos como evaluar, en ruby usaremos Else como si
Bucles
Ruby también nos da una variedad de diferentes palabras reservadas para usar bucles aparte de las tradicionales while, do-while y for, veamos todas una por una en un ejemplo rápido
While, Do-while y until
Si tienen dudas con la diferencia entre un While y un Do-while pueden consultar el tutorial de Javascript donde se explica la diferencia, pues recuerden que una vez que aprendes un lenguaje, prácticamente es mismo aprender uno nuevo con algunas diferencias que se lleguen a explicar
While
while a<10
puts a
a+=1
end
do-while
Realmente no se conoce como do-while en ruby pero como es lo mas parecido a otros lenguajes lo subtitule de esa forma
begin
puts a
a+=1
end while a<10
until
Until es lo mismo que cuando vimos unless mientras la condición sea falsa se va a cumplir la condicion
until a<10
a+=1
puts "a no es menor a 10"
end
begin
puts "a no es menor a 10"
a+=1
end until a<10
De igual forma podemos poner nuestro while y until en una sola instrucción.
a+=1 while a<20 #Para While
a+=1 until a>20 #Para Until
Recuerden si tienen dudas pueden ponerlas en los comentarios o en nuestro servidor de Discord
Loop
Cuando conocí Loop se me hizo extraño pues realmente consiste de ciclar una instrucción indefinidamente y la única forma de salirse es con la palabra reservada break
loop do
puts a
a+=1
break if a>100
end
For
Por ultimo nos falta la instrucción For que se nos simplifica mucho mas, aunque al principio puede confundir
for i in (0..10)
puts i
end
Mientras que en otros lenguajes usamos la sintaxis for(i=0;i<10;i++)
con Ruby lo reducimos a el nombre de la variable y de donde a donde sera su intervalo.
Por ultimo y como recordatorio, podemos usar cuatro comandos que nos ayudaran en nuestros bucles
- break: Termina el bucle
- next: Se adelanta a la siguiente interacción del bucle
- redo: Se repite el bucle ignorando anulando la evaluación de la condición
- retry: Se repite el bucle repitiendo de igual forma la evaluación de la condición
Existen otros tipos de bucles que podemos encontrar en este lenguaje pero las veremos en futuros tutoriales, con que se aprendan estas principales sera mas que suficiente (por ahora).
Espero que les guste estos tutoriales y de serlo, espero que lo puedan compartir, tanto para que mas gente se anime a programar así como se vayan uniendo a nuestra comunidad
Seguimos creciendo poco a poco así que los invito a unirse a nuestro canal de Discord para irnos conociendo y compartan sus post
Congratulations @developspanish! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP