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 mismo tipo; los mapas contienen un tipo de clave y un tipo de valor. Pero tus tablas de Lua más comunes mezclan tipos en campos con nombre: un jugador con un nombre de tipo string, una puntuación de tipo number y una bandera de tipo boolean. Luau tipa estos elementos mediante una forma: un tipo de tabla que enumera cada campo y su propio tipo.
type Point = {x: number, y: number}
local origin: Point = {x = 0, y = 0}
print(origin.x)La palabra clave type crea un alias de tipo: un nombre reutilizable para la forma. Solo existe para el comprobador: no se crea ningún valor en tiempo de ejecución llamado Point. Cada campo puede tener un tipo 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 la forma declarada, el comprobador sabe que player.score es un número y señala los errores de forma temprana: un error tipográfico como player.scroe (no existe tal campo) o asignar player.score = "high" (tipo incorrecto). Esta es la primera introducción: un capítulo posterior profundiza mucho más en las formas, los campos opcionales y los métodos.
Desafío
FácilDefine un alias de tipo Player para una estructura con tres campos: name: string, score: number y active: boolean.
Crea local player: Player con el nombre "Rio", la 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 de actividad del jugador
- la línea exacta
Rio has 1500 pointsconstruida mediante 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 MapsPractica por tu cuenta: Compilador de Lua online