Tablas de formas mixtas
Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 18 de 80.
Los arrays contienen muchos valores de un tipo; los mapas contienen un tipo de clave y un tipo de valor. Pero las tablas de Lua que más usarás 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 representa estos tipos 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 verificador: 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`)Una vez declarada la forma, el verificador sabe que player.score es un número y detecta errores a tiempo: una errata como player.scroe (ese campo no existe) o asignar player.score = "high" (tipo incorrecto). Esta es solo una primera aproximación: un capítulo posterior profundiza mucho más en las formas, los campos opcionales y los métodos.
Desafío
FácilDescribe a un jugador con un tipo de forma.
- Escribe
type Player = {name: string, score: number, active: boolean}. - Crea
local player: Player = {name = "Kai", score = 900, active = false}. - Imprime
player.active, después`{player.name} has {player.score} points`.
Pulsa Run Code: la salida muestra false y Kai has 900 points.
Pruébalo tú mismo
-- 1) type Player = {...}
-- 2) local player: Player = {...}
-- 3) imprime el indicador de actividad y luego la línea de resumen
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