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:

  1. Comentarios
  2. Variables y Tipos de Datos
  3. Operadores
  4. Estructuras de Control
  5. Funciones

  1. 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 ]].
-- Este es un comentario de una sola línea

--[[
Este es un comentario
de múltiples líneas
]]

  1. 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.

local nombre = "Juan"
local edad = 25
local esEstudiante = true

Tipos de Datos

Lua tiene varios tipos de datos básicos:

  • nil: Representa la ausencia de un valor.
  • boolean: Puede ser true o false.
  • 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

  1. 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

  1. 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

for i = 1, 5 do
    print("Iteración: " .. i)
end

Bucle repeat until

local contador = 1

repeat
    print("Contador: " .. contador)
    contador = contador + 1
until contador > 5

  1. Funciones

Las funciones son bloques de código reutilizables que realizan una tarea específica.

Declaración de Funciones

function saludar(nombre)
    print("Hola, " .. nombre)
end

saludar("Juan")

Funciones Anónimas

local funcionAnonima = function(nombre)
    print("Hola, " .. nombre)
end

funcionAnonima("Maria")

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

  1. Escribe un comentario de una sola línea.
  2. Escribe un comentario de múltiples líneas.
  3. Declara una variable nombre y asígnale tu nombre.
  4. Declara una variable edad y asígnale tu edad.

Ejercicio 2: Operadores y Condicionales

  1. Declara dos variables a y b con valores numéricos.
  2. Usa operadores aritméticos para sumar, restar, multiplicar y dividir a y b.
  3. Usa operadores relacionales para comparar a y b.
  4. Escribe una estructura condicional que imprima si a es mayor, menor o igual a b.

Ejercicio 3: Bucles y Funciones

  1. Escribe un bucle for que imprima los números del 1 al 10.
  2. Escribe una función que reciba un número y devuelva su cuadrado.
  3. 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.

© Copyright 2024. Todos los derechos reservados