¿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 nilEn 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úmeroMejor 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.
Desafío
FácilAsigna el tipo number a ambos parámetros de calculateTotal.
- En la primera línea, cambia
(price, tax)por(price: number, tax: number). - 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
1Primeros pasos con Luau
¿Qué es Luau?¿Por qué usar Luau?Tu primer código en LuauComprobación de tipos y modos de errorRecapitulacion: Introducción a Luau4Trabajar con funciones
Tipado de parámetros y valores de retornoTipado de funciones anónimasFunciones que no devuelven nadaParámetros opcionalesValores predeterminados de parámetrosValores predeterminados para booleanosFunciones variádicasDefinir tipos de funcionesRepaso: funciones tipadas7Proyecto: Gestor de tareas tipado
Proyecto: La estructura de una tareaFunción para añadir una tarea2Tipos fundamentales
Número, cadena y booleanoEl tipo 'any': una salida de emergenciaEl tipo 'unknown'Tipos nulos y opcionalesLa inferencia de tipos en acciónAnotaciones de tipo explícitasRepaso: práctica de tipos fundamentales5Alias, Uniones e Intersecciones
Alias de tipos para primitivosTipos de uniónTrabajando con tipos de uniónTipos literalesTipos de intersecciónCombinando alias de tiposResumen: Combinaciones avanzadas de tipos3Tablas tipadas: arrays y mapas
Arrays tipadosAgregar y leer elementos¿Qué es un tipo mapa?Declarar y acceder a mapasRecorrer tablasTablas de formas mixtasLeer una cuadrículaConstruir una cuadrículatable.unpackRepaso: arrays y mapasPractica por tu cuenta: Compilador de Luau online