Añadir y leer elementos
Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 14 de 73.
Ya haces crecer y reducir las tablas de Lua con table.insert y table.remove: ambos funcionan exactamente igual con arrays tipados. La diferencia es que ahora Luau comprueba lo que insertas: introducir una cadena en un array {number} se marca mientras escribes, en lugar de descubrirlo un jugador confundido durante la ejecución.
local queue: {string} = {"save", "load"}
table.insert(queue, "quit") -- añade al final
table.insert(queue, 1, "help") -- inserta en la posición 1, desplazando el resto
local last = table.remove(queue) -- elimina Y devuelve el último elementotable.remove(t) extrae el último elemento y te lo devuelve; table.remove(t, 1) elimina el primero y desplaza todo hacia abajo. Como el array está tipado como {string}, Luau sabe que el valor devuelto es una cadena.
Leer es igual de flexible que en Lua normal: un índice que no contiene nada, queue[0], queue[-1] o cualquier índice posterior a #queue se evalúa silenciosamente como nil. No se produce ningún error, así que comprueba si es nil antes de usar un valor cuya existencia no tengas asegurada.
Una herramienta más para tu arsenal: table.freeze(t) hace que una tabla sea de solo lectura durante la ejecución: cualquier intento posterior de modificarla produce un error. Es la respuesta de Luau para datos constantes (configuración, listas de niveles fijas) que nunca deben cambiar después de su creación.
Desafío
FácilCrea una matriz tipada queue: {string} inicializada con "save" y "load". Después:
- añade
"<code>quit" contable.insert - inserta
"<code>help" en la posición 1 - elimina el comando último con
table.remove, guardando el valor devuelto
Finalmente, imprime, cada uno en su propia línea:
- el comando eliminado
- cuántos comandos quedan
- el primer comando de la cola
queue[10]: una posición que no contiene nada
Pruébalo tú mismo
-- Escribe código aquí
-- 1) declara queue: {string} con "save" y "load"
-- 2) agrega el texto exacto de las instrucciones, inserta el texto exacto de las instrucciones en la posición 1
-- 3) elimina el último comando, luego imprime los cuatro valores
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