En esta sección, aprenderemos sobre la sintaxis y la estructura básica de Lua. Este conocimiento es fundamental para escribir y entender scripts en Lua. Vamos a cubrir los siguientes temas:
- Comentarios
- Variables y Tipos de Datos
- Operadores
- Estructuras de Control
- Funciones
- Comentarios
Los comentarios son líneas de texto que el intérprete de Lua ignora. Son útiles para explicar el código y hacer anotaciones.
- Comentarios de una sola línea: Se inician con
--
. - Comentarios de múltiples líneas: Se encierran entre
--[[
y]]
.
- Variables y Tipos de Datos
Declaración de Variables
En Lua, no es necesario declarar el tipo de una variable. Simplemente se asigna un valor a un nombre de variable.
Tipos de Datos
Lua tiene varios tipos de datos básicos:
- nil: Representa la ausencia de un valor.
- boolean: Puede ser
true
ofalse
. - number: Representa números (enteros y de punto flotante).
- string: Cadenas de texto.
- table: Estructuras de datos asociativas.
- function: Funciones.
- userdata: Representa datos creados en C.
- thread: Corutinas.
local valorNulo = nil local esVerdadero = true local numero = 42 local texto = "Hola, Mundo" local tabla = { clave = "valor" } local funcion = function() print("Hola") end
- Operadores
Operadores Aritméticos
+
(suma)-
(resta)*
(multiplicación)/
(división)%
(módulo)^
(exponenciación)
local suma = 5 + 3 local resta = 5 - 3 local multiplicacion = 5 * 3 local division = 5 / 3 local modulo = 5 % 3 local potencia = 5 ^ 3
Operadores Relacionales
==
(igual a)~=
(diferente de)<
(menor que)>
(mayor que)<=
(menor o igual que)>=
(mayor o igual que)
local esIgual = (5 == 3) local esDiferente = (5 ~= 3) local esMenor = (5 < 3) local esMayor = (5 > 3) local esMenorOIgual = (5 <= 3) local esMayorOIgual = (5 >= 3)
Operadores Lógicos
and
(y)or
(o)not
(no)
local resultadoAnd = (true and false) local resultadoOr = (true or false) local resultadoNot = not true
- Estructuras de Control
Condicionales
Las estructuras condicionales permiten ejecutar código basado en condiciones.
local edad = 20 if edad < 18 then print("Eres menor de edad") elseif edad >= 18 and edad < 65 then print("Eres adulto") else print("Eres mayor") end
Bucles
Bucle while
local contador = 1 while contador <= 5 do print("Contador: " .. contador) contador = contador + 1 end
Bucle for
Bucle repeat until
local contador = 1 repeat print("Contador: " .. contador) contador = contador + 1 until contador > 5
- Funciones
Las funciones son bloques de código reutilizables que realizan una tarea específica.
Declaración de Funciones
Funciones Anónimas
Funciones con Valores de Retorno
function sumar(a, b) return a + b end local resultado = sumar(5, 3) print("Resultado: " .. resultado)
Ejercicios Prácticos
Ejercicio 1: Comentarios y Variables
- Escribe un comentario de una sola línea.
- Escribe un comentario de múltiples líneas.
- Declara una variable
nombre
y asígnale tu nombre. - Declara una variable
edad
y asígnale tu edad.
Ejercicio 2: Operadores y Condicionales
- Declara dos variables
a
yb
con valores numéricos. - Usa operadores aritméticos para sumar, restar, multiplicar y dividir
a
yb
. - Usa operadores relacionales para comparar
a
yb
. - Escribe una estructura condicional que imprima si
a
es mayor, menor o igual ab
.
Ejercicio 3: Bucles y Funciones
- Escribe un bucle
for
que imprima los números del 1 al 10. - Escribe una función que reciba un número y devuelva su cuadrado.
- Usa la función en un bucle
while
para imprimir los cuadrados de los números del 1 al 5.
Soluciones
Solución Ejercicio 1
-- Este es un comentario de una sola línea --[[ Este es un comentario de múltiples líneas ]] local nombre = "TuNombre" local edad = 30
Solución Ejercicio 2
local a = 10 local b = 5 local suma = a + b local resta = a - b local multiplicacion = a * b local division = a / b if a > b then print("a es mayor que b") elseif a < b then print("a es menor que b") else print("a es igual a b") end
Solución Ejercicio 3
for i = 1, 10 do print(i) end function cuadrado(n) return n * n end local contador = 1 while contador <= 5 do print(cuadrado(contador)) contador = contador + 1 end
Conclusión
En esta sección, hemos cubierto la sintaxis y la estructura básica de Lua, incluyendo comentarios, variables, operadores, estructuras de control y funciones. Estos conceptos son fundamentales para cualquier programador que desee trabajar con Lua. En el próximo módulo, profundizaremos en los conceptos básicos, como variables y tipos de datos, para construir una base sólida en la programación con Lua.
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