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"
: Siday
es "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
: Mientrasi
sea menor que 5, se ejecuta el bloque de código.i += 1
: Incrementai
en 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
: Mientrasi
sea menor que 5, se ejecuta el bloque de código.i += 1
: Incrementai
en 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 cuandoi
es 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