¿Qué es Luau?
Parte de la sección Introducción a Luau del Journey de Lua de Coddy — lección 1 de 73.
Luau es un lenguaje de programación creado en Roblox que se basa en el Lua que ya conoces agregando tipos estáticos graduales. Piensa en él como Lua con una capa extra de seguridad y herramientas; impulsa millones de experiencias en Roblox y es de código abierto desde 2021.
La idea clave es que Luau es un superconjunto de Lua 5.1. Cualquier código Lua 5.1 valid también es código Luau valid: puedes tomar un script que escribiste en las secciones anteriores y ejecutarlo como Luau, sin cambios.
Lo que Luau agrega por encima son anotaciones de tipo. Una annotation declara qué tipo de datos debe contener una variable (un string, un number, un boolean, una tabla) para que los errores se puedan detectar incluso antes de que se ejecute el código:
-- Lua (also valid Luau)
local message = "Hello World"
-- Luau with a type annotation
local message: string = "Hello World"La palabra gradual importa: las anotaciones son opcionales. Puedes tipar una variable, una función o un archivo entero; el código al estilo Lua sin tipos sigue funcionando mientras agregas tipos a tu propio ritmo.
A cambio, obtienes mejores herramientas en el editor, un código más legible y protección contra el tipo de errores que el Lua básico solo revela mientras el programa se está ejecutando.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
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 Luau4Trabajando con Funciones
Tipado de Parámetros y Valores de RetornoTipado de Funciones AnónimasFunciones que no Retornan NadaParámetros OpcionalesValores por Defecto en ParámetrosFunciones VariádicasDefinición de Tipos de FuncionesRecapitulaciones: Funciones Tipadas2Tipos principales
Tipos básicos: num, str, boolEl tipo 'any': Vía de escapeEl tipo 'unknown'Tipos nulos y opcionalesInferencia de tipos en acciónAnotaciones explícitas de tiposResumen: Práctica de tipos principales5Alias, 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 Maps
Arrays tipadosAñadir y leer elementos¿Qué es un tipo Map?Declarar y acceder a MapsIterar tablasTablas de forma mixtaArrays tipados multidimensionalestable.unpack y VarargsRecapitulaciones: Arrays y Maps