Las estructuras de control son fundamentales en cualquier lenguaje de programación, ya que permiten dirigir el flujo de ejecución del programa en función de condiciones específicas. En Ruby, las estructuras de control incluyen condicionales y bucles. En esta sección, aprenderemos sobre las estructuras de control más comunes en Ruby y cómo utilizarlas.
Condicionales
if, elsif, else
La estructura condicional if se utiliza para ejecutar un bloque de código solo si una condición es verdadera. Puedes encadenar múltiples condiciones usando elsif y proporcionar un bloque de código alternativo con else.
age = 18 if age < 18 puts "Eres menor de edad." elsif age == 18 puts "Tienes 18 años." else puts "Eres mayor de edad." end
Explicación:
if age < 18: Si la condición es verdadera, se ejecuta el bloque de código dentro de esteif.elsif age == 18: Si la condición anterior no es verdadera, se evalúa esta condición.else: Si ninguna de las condiciones anteriores es verdadera, se ejecuta este bloque de código.
unless
La estructura unless es lo opuesto a if. Ejecuta el bloque de código solo si la condición es falsa.
Explicación:
unless age < 18: Si la condición es falsa, se ejecuta el bloque de código dentro de esteunless.
case
La estructura case es útil cuando tienes múltiples condiciones que deseas evaluar. Es similar a switch en otros lenguajes de programación.
day = "Lunes" case day when "Lunes" puts "Hoy es lunes." when "Martes" puts "Hoy es martes." else puts "No es lunes ni martes." end
Explicación:
case day: Evalúa la variableday.when "Lunes": Sidayes "Lunes", se ejecuta este bloque de código.else: Si ninguna de las condiciones anteriores es verdadera, se ejecuta este bloque de código.
Bucles
while
El bucle while ejecuta un bloque de código mientras una condición sea verdadera.
Explicación:
while i < 5: Mientrasisea menor que 5, se ejecuta el bloque de código.i += 1: Incrementaien 1 en cada iteración.
until
El bucle until es lo opuesto a while. Ejecuta un bloque de código mientras una condición sea falsa.
Explicación:
until i >= 5: Mientrasisea menor que 5, se ejecuta el bloque de código.i += 1: Incrementaien 1 en cada iteración.
for
El bucle for itera sobre una colección de elementos, como un array o un rango.
Explicación:
for i in 0..4: Itera sobre el rango de 0 a 4, ejecutando el bloque de código para cada valor dei.
loop
El bucle loop ejecuta un bloque de código indefinidamente hasta que se use una instrucción break para salir del bucle.
Explicación:
loop do: Inicia un bucle infinito.break if i >= 5: Sale del bucle cuandoies mayor o igual a 5.
Ejercicios Prácticos
Ejercicio 1: Condicionales
Escribe un programa que pida al usuario que ingrese su edad y luego imprima un mensaje indicando si es menor de edad, tiene 18 años o es mayor de edad.
puts "Ingresa tu edad:" age = gets.to_i if age < 18 puts "Eres menor de edad." elsif age == 18 puts "Tienes 18 años." else puts "Eres mayor de edad." end
Ejercicio 2: Bucles
Escribe un programa que imprima los números del 1 al 10 usando un bucle while.
Ejercicio 3: Bucle for
Escribe un programa que imprima los elementos de un array usando un bucle for.
Resumen
En esta sección, hemos cubierto las estructuras de control en Ruby, incluyendo condicionales (if, elsif, else, unless, case) y bucles (while, until, for, loop). Estas estructuras son esenciales para dirigir el flujo de ejecución de tu programa en función de condiciones específicas. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión de estos conceptos. En el próximo módulo, exploraremos las variables y los tipos de datos en Ruby.
Curso de Programación en Ruby
Módulo 1: Introducción a Ruby
Módulo 2: Conceptos Básicos de Ruby
Módulo 3: Trabajando con Colecciones
Módulo 4: Programación Orientada a Objetos en Ruby
- Clases y Objetos
- Variables y Métodos de Instancia
- Variables y Métodos de Clase
- Herencia
- Módulos y Mixins
Módulo 5: Conceptos Avanzados de Ruby
- Bloques, Procs y Lambdas
- Metaprogramación
- Manejo de Excepciones
- Entrada/Salida de Archivos
- Expresiones Regulares
Módulo 6: Introducción a Ruby on Rails
- ¿Qué es Ruby on Rails?
- Configuración del Entorno Rails
- Creando una Aplicación Simple en Rails
- Arquitectura MVC
- Enrutamiento
Módulo 7: Pruebas en Ruby
- Introducción a las Pruebas
- Pruebas Unitarias con Minitest
- Desarrollo Guiado por Comportamiento con RSpec
- Mocking y Stubbing
Módulo 8: Mejores Prácticas en Ruby
- Estilo de Código y Convenciones
- Refactorización
- Optimización del Rendimiento
- Mejores Prácticas de Seguridad
