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
trueofalse. - 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")
endBucles
Bucle while
local contador = 1
while contador <= 5 do
print("Contador: " .. contador)
contador = contador + 1
endBucle 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
nombrey asígnale tu nombre. - Declara una variable
edady asígnale tu edad.
Ejercicio 2: Operadores y Condicionales
- Declara dos variables
aybcon valores numéricos. - Usa operadores aritméticos para sumar, restar, multiplicar y dividir
ayb. - Usa operadores relacionales para comparar
ayb. - Escribe una estructura condicional que imprima si
aes mayor, menor o igual ab.
Ejercicio 3: Bucles y Funciones
- Escribe un bucle
forque 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
whilepara 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")
endSolució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
endConclusió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
