Tablas de forma mixta
Parte de la sección Introducción a Luau del Journey de Lua de Coddy — lección 18 de 73.
Los arrays contienen muchos valores de un type; los mapas contienen un tipo de clave y un tipo de valor. Pero las tablas de Lua más comunes mezclan tipos bajo named fields: un player con un nombre string, un score number, una bandera boolean. Luau los tipa con un shape: un type de tabla que enumera cada field y su own type.
type Point = {x: number, y: number}
local origin: Point = {x = 0, y = 0}
print(origin.x)La palabra clave type crea un type alias — un nombre reutilizable para el shape. Existe solo para el verificador: no se crea ningún valor en tiempo de ejecución named Point. Los fields pueden tener each un type diferente:
type Player = {name: string, score: number, active: boolean}
local player: Player = {name = "Rio", score = 1500, active = true}
print(`{player.name} has {player.score} points`)Con el shape declarado, el verificador sabe que player.score es un number y detecta errores tempranamente: un error de escritura como player.scroe (no existe tal field), o asignar player.score = "high" (type incorrecto). Esta es la primera toma de contacto — un capítulo posterior profundizará mucho más en shapes, fields opcionales y métodos.
Desafío
FácilDefine un alias de tipo Player para una forma con tres campos: name: string, score: number y active: boolean.
Crea local player: Player con el nombre "Rio", puntuación 1500 y active establecido en true.
Imprime, cada uno en su propia línea:
- el nombre del jugador
- la puntuación del jugador
- el indicador active del jugador
- la línea exacta
Rio has 1500 pointsconstruida con interpolación de cadenas a partir de los campos
Pruébalo tú mismo
-- Escribe código aquí
-- 1) type Player = {name: string, score: number, active: boolean}
-- 2) crea player: Player = {name = "Rio", score = 1500, active = true}
-- 3) imprime name, score, active, luego la línea de resumen interpolada
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