Menu
Coddy logo textTech

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 elemento

table.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.

challenge icon

Desafío

Fácil

Crea una matriz tipada queue: {string} inicializada con "save" y "load". Después:

  1. añade "<code>quit" con table.insert
  2. inserta "<code>help" en la posición 1
  3. elimina el comando último con table.remove, guardando el valor devuelto

Finalmente, imprime, cada uno en su propia línea:

  1. el comando eliminado
  2. cuántos comandos quedan
  3. el primer comando de la cola
  4. 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
quiz iconPonte a prueba

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

Practica por tu cuenta: Compilador de Lua online