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 aumentas y reduces el tamaño de las tablas de Lua con table.insert y table.remove; ambas funcionan exactamente igual en arrays con tipo. La diferencia es que Luau ahora comprueba lo que insertas: añadir un string en un array de tipo {number} se marca mientras escribes, en lugar de que lo descubra un jugador confundido en tiempo de 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) saca el último elemento y te lo devuelve; table.remove(t, 1) elimina el primero y desplaza todo hacia abajo. Como el array tiene el tipo {string}, Luau sabe que el valor devuelto es un string.

Leer valores es tan flexible como en Lua estándar: un índice que no contiene nada — queue[0], queue[-1] o cualquier otro más allá de #queue — se evalúa silenciosamente como nil. No se genera ningún error, así que comprueba si es nil antes de usar un valor que no estés seguro de que exista.

Una herramienta más para tu repertorio: table.freeze(t) hace que una tabla sea de solo lectura en tiempo de ejecución — cualquier intento posterior de modificarla generará un error. Es la solución 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 un array con tipo queue: {string} inicializado con "save" y "load". Después:

  1. agrega al final "quit" con table.insert
  2. inserta "help" en la posición 1
  3. elimina el último comando 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 casilla que no contiene nada

Pruébalo tú mismo

-- Escribe código aquí
-- 1) declara cola: {string} con "save" y "load"
-- 2) añade "quit", inserta "help" 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