Arrays tipados
Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 13 de 80.
Los arreglos tipados son una de las funciones más útiles de Luau para organizar varios valores y mantener la seguridad de tipos.
En Lua, un arreglo es simplemente una tabla con valores en las posiciones 1, 2, 3, …, y puede contener sin problema 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, mediante 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 arreglo tipado, el verificador de tipos de Luau garantiza que solo se incluyan valores del tipo declarado. Inserta una cadena en un arreglo {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 númeroTodo lo que ya sabes sobre las tablas de Lua sigue siendo válido: los arreglos empiezan en 1 (scores[1] es el primer elemento), #scores es la longitud, y table.insert / table.remove funcionan como siempre. La anotación añade seguridad, no un comportamiento nuevo en tiempo de ejecución.
Desafío
FácilGuarda las puntuaciones y los nombres en arreglos tipados.
- Declara
local scores: {number} = {85, 92, 78}. - Declara
local studentNames: {string} = {"Alice", "Bob", "Charlie"}. - Imprime
scores[1],#scoresystudentNames[2], uno por línea.
Pulsa Ejecutar código: la salida muestra 85, 3 y Bob.
Pruébalo tú mismo
-- 1) declara scores: {number} y studentNames: {string}
-- 2) imprime la primera puntuación, la cantidad de puntuaciones y el segundo nombre
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