Menu
CoddyTech

¿Por qué usar Luau?

Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 2 de 80.

El sistema de tipos de Luau ofrece tres beneficios principales que hacen que el desarrollo sea más seguro y eficiente.

Detecta errores pronto: el verificador de tipos analiza tu código mientras lo editas, antes de que se ejecute. Considera un error clásico de Lua: pasar nil donde se espera un número:

-- Lua: nada te advierte de esto
local function calculateTotal(price, tax)
    return price + tax
end

print(calculateTotal(nil, 0.1))
-- ✗ error en tiempo de ejecución: intento de realizar una operación aritmética con nil

En Lua sin anotaciones, el fallo solo ocurre cuando finalmente se ejecuta la llamada incorrecta: quizá delante de tus usuarios. Peor aún, Lua a veces oculta el error por completo: "50" + 0.1 convierte silenciosamente la cadena y devuelve 50.1… hasta el día en que la cadena no sea numérica. Con las anotaciones de Luau, el error se señala de inmediato:

local function calculateTotal(price: number, tax: number)
    return price + tax
end

calculateTotal(nil, 0.1) -- ✗ error de tipo durante la edición: nil no es un número

Mejor legibilidad del código: las anotaciones sirven como documentación. price: number les indica a ti y a tus compañeros exactamente qué espera una función: sin conjeturas ni necesidad de revisar la implementación.

Herramientas de desarrollo mejoradas: como el editor conoce el tipo de cada variable, obtienes autocompletado preciso, refactorizaciones más seguras y una navegación más inteligente. Escribe un punto después de un valor tipado y el editor enumerará exactamente las opciones disponibles.

challenge icon

Desafío

Fácil

Asigna el tipo number a ambos parámetros de calculateTotal.

  1. En la primera línea, cambia (price, tax) por (price: number, tax: number).
  2. Mantén la llamada calculateTotal(80, 8) al final.

Pulsa Ejecutar código: la salida muestra 88.

Pruébalo tú mismo

local function calculateTotal(price, tax)
    return price + tax
end

print(calculateTotal(80, 8))

Todas las lecciones de Introducción a Luau

Practica por tu cuenta: Compilador de Luau online