Agregar y leer elementos
Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 14 de 80.
Ya amplías y reduces tablas de Lua con table.insert y table.remove: ambos funcionan exactamente igual con las matrices tipadas. La diferencia es que Luau ahora comprueba lo que insertas: si intentas añadir una cadena a una matriz {number}, se marca mientras escribes, en lugar de que un jugador confundido lo descubra 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 y desplaza el resto
local last = table.remove(queue) -- elimina Y devuelve el último elementotable.remove(t) quita el último elemento y te lo devuelve; table.remove(t, 1) quita el primero y desplaza todo lo demás hacia abajo. Como la matriz está tipada como {string}, Luau sabe que el valor devuelto es una cadena.
La lectura es igual de permisiva que en Lua normal: un índice que no contiene nada, queue[0], queue[-1] o cualquier índice que supere #queue se evalúa silenciosamente como nil. No se genera ningún error, así que comprueba si el valor es nil antes de usar uno cuya existencia no tengas clara.
Desafío
FácilHaz crecer y reducir una lista tipada de movimientos.
- Declara
local moves: {string} = {"jump", "run"}. - Añade
"duck"contable.inserty luego inserta"crawl"en la posición 1. - Guarda
table.remove(moves)enlocal removedy luego imprimeremoved,#moves,moves[1]ymoves[10].
Pulsa Ejecutar código: la salida muestra duck, 3, crawl y nil.
Pruébalo tú mismo
-- 1) declara moves: {string} con "jump" y "run"
-- 2) añade "duck" al final e inserta "crawl" en la posición 1
-- 3) elimina el último movimiento y luego imprime los cuatro valores
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