Las estructuras de control son fundamentales en cualquier lenguaje de programación, ya que permiten dirigir el flujo de ejecución del programa. En Lua, las estructuras de control incluyen condicionales y bucles. En esta sección, aprenderemos cómo utilizar estas estructuras para tomar decisiones y repetir acciones en nuestros scripts.
Condicionales
if y else
La estructura if se utiliza para ejecutar un bloque de código solo si una condición es verdadera. Puedes extender esta estructura con else para ejecutar un bloque alternativo si la condición es falsa.
Sintaxis:
if condición then
-- código si la condición es verdadera
else
-- código si la condición es falsa
endEjemplo:
local edad = 20
if edad >= 18 then
print("Eres mayor de edad.")
else
print("Eres menor de edad.")
endelseif
Para manejar múltiples condiciones, puedes usar elseif.
Sintaxis:
if condición1 then
-- código si condición1 es verdadera
elseif condición2 then
-- código si condición2 es verdadera
else
-- código si ninguna condición es verdadera
endEjemplo:
local nota = 85
if nota >= 90 then
print("Excelente")
elseif nota >= 75 then
print("Bueno")
else
print("Necesitas mejorar")
endBucles
while
El bucle while ejecuta un bloque de código mientras una condición sea verdadera.
Sintaxis:
Ejemplo:
local contador = 1
while contador <= 5 do
print("Contador: " .. contador)
contador = contador + 1
endfor
Lua tiene dos tipos de bucles for: numérico y genérico.
Bucle for numérico
Se utiliza para iterar un número específico de veces.
Sintaxis:
Ejemplo:
Bucle for genérico
Se utiliza para iterar sobre elementos de una tabla.
Sintaxis:
Ejemplo:
local frutas = { "manzana", "banana", "cereza" }
for indice, fruta in ipairs(frutas) do
print("Fruta " .. indice .. ": " .. fruta)
endEjercicios Prácticos
Ejercicio 1: Condicionales
Escribe un script que determine si un número es positivo, negativo o cero.
Solución:
local numero = -5
if numero > 0 then
print("El número es positivo.")
elseif numero < 0 then
print("El número es negativo.")
else
print("El número es cero.")
endEjercicio 2: Bucle while
Escribe un script que imprima los números del 1 al 10 usando un bucle while.
Solución:
Ejercicio 3: Bucle for numérico
Escribe un script que imprima los números del 10 al 1 en orden descendente usando un bucle for.
Solución:
Ejercicio 4: Bucle for genérico
Escribe un script que imprima todas las claves y valores de una tabla.
Solución:
local persona = { nombre = "Juan", edad = 30, ciudad = "Madrid" }
for clave, valor in pairs(persona) do
print(clave .. ": " .. valor)
endResumen
En esta sección, hemos aprendido sobre las estructuras de control en Lua, incluyendo condicionales (if, else, elseif) y bucles (while, for numérico y genérico). Estas estructuras son esenciales para dirigir el flujo de ejecución de nuestros programas y realizar tareas repetitivas de manera eficiente. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión de estos conceptos.
En el próximo módulo, exploraremos las funciones en Lua, que nos permitirán organizar y reutilizar nuestro código de manera más efectiva.
Curso de Programación en Lua
Módulo 1: Introducción a Lua
Módulo 2: Conceptos Básicos
Módulo 3: Conceptos Intermedios
Módulo 4: Conceptos Avanzados
- Corutinas
- Programación Orientada a Objetos en Lua
- Técnicas de Depuración
- Optimización del Rendimiento
- Uso de la API C de Lua
Módulo 5: Aplicaciones Prácticas
- Construcción de un Juego Simple
- Scripting en Motores de Juegos
- Automatización de Tareas con Lua
- Integración de Lua con Otros Lenguajes
