Arrays tipados
Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 13 de 73.
Los arrays tipados son una de las características más útiles de Luau para organizar múltiples valores manteniendo la seguridad de tipos.
En Lua, un array es simplemente una tabla con valores en las posiciones 1, 2, 3, …, y puede contener sin problemas un número, una cadena y un booleano al mismo tiempo. Luau te permite declarar que una tabla solo debe contener elementos de un tipo, utilizando la sintaxis {Type}:
local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}Cuando declaras un array tipado, el comprobador de tipos de Luau exige que solo se introduzcan valores del tipo declarado. Inserta una cadena en un array {number} y obtendrás un error de tipo mientras editas, antes de que el código llegue a ejecutarse:
local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ error de tipo: string no es un numberTodo lo que ya sabes sobre las tablas de Lua sigue aplicándose: los arrays están indexados desde 1 (scores[1] es el primer elemento), #scores es la longitud, y table.insert / table.remove funcionan como de costumbre. La anotación añade seguridad, no un comportamiento nuevo en tiempo de ejecución.
Desafío
FácilCrea un array tipado llamado scores que solo pueda contener números, inicializado con 85, 92 y 78.
Crea un segundo array tipado llamado studentNames que solo pueda contener cadenas, inicializado con "Alice", "Bob" y "Charlie".
Después, imprime, cada uno en su propia línea:
- la primera puntuación
- cuántas puntuaciones hay (usa
#) - el segundo nombre de estudiante
Pruébalo tú mismo
-- Escribe código aquí
-- 1) declara scores: {number} y studentNames: {string}
-- 2) imprime el primer score, la cantidad de scores y el segundo name
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