Añadir y eliminar elementos
Use table.insert y remove
Añadir y eliminar elementos es una lección gratuita de Lua Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Lua Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Lua Academy incluye 4 lecciones en total.
Ampliar una secuencia
Las listas reales cambian de tamaño mientras se ejecuta un programa. Lua proporciona table.insert para añadir elementos al final.
Como las secuencias están basadas en 1, añadir un elemento después de dos elementos lo coloca en el índice 3.
local list = {"a", "b"}
table.insert(list, "c")
print(list[1], list[2], list[3])table.insert añade elementos al final
Cuando se llama con dos argumentos, table.insert(t, value) coloca value justo después del último índice actual.
Cada llamada amplía la secuencia en un elemento y mantiene los índices contiguos.
local q = {}
table.insert(q, "first")
table.insert(q, "second")
print(q[1], q[2])Insertar en una posición
Con tres argumentos, table.insert(t, pos, value) inserta el elemento en el índice pos y desplaza hacia arriba los elementos posteriores.
Aquí colocamos "X" en la posición 2, por lo que el antiguo segundo elemento pasa a la posición 3.
local list = {"a", "b", "c"}
table.insert(list, 2, "X")
print(list[1], list[2], list[3], list[4])Insertar al principio
Para anteponer un elemento, insértelo en la posición 1. Cada elemento existente se desplaza un índice hacia arriba.
Esto resulta práctico, pero es más lento en listas grandes, ya que Lua debe mover todos los elementos.
local list = {"b", "c"}
table.insert(list, 1, "a")
print(list[1], list[2], list[3])Eliminar el último elemento
table.remove(t), con un solo argumento, elimina y devuelve el último elemento.
La secuencia se reduce en un elemento y sigue sin huecos.
local list = {"a", "b", "c"}
local gone = table.remove(list)
print("removed:", gone)
print(list[1], list[2], list[3])Eliminar en una posición
table.remove(t, pos) elimina el elemento de pos y desplaza hacia abajo los elementos posteriores para cerrar el hueco.
Recuerde que las posiciones están basadas en 1, por lo que pos = 1 elimina el primer elemento.
local list = {"a", "b", "c"}
local gone = table.remove(list, 1)
print("removed:", gone)
print(list[1], list[2])Remove devuelve el valor
Las dos formas de table.remove devuelven el valor que han extraído, por lo que puede usarlo de inmediato.
Esto permite que una tabla se comporte como una pila: inserte elementos con insert y extráigalos con remove.
local stack = {}
table.insert(stack, 10)
table.insert(stack, 20)
local top = table.remove(stack)
print("popped:", top)Una cola sencilla
Inserte elementos al final y elimínelos del principio (pos = 1) para representar una cola: el primero en entrar es el primero en salir.
Cada eliminación desplaza el resto hacia abajo, por lo que el siguiente elemento queda en el índice 1.
local queue = {}
table.insert(queue, "Ann")
table.insert(queue, "Bob")
print("serving:", table.remove(queue, 1))
print("next:", queue[1])Evitar huecos manuales
Establecer un elemento como nil mediante list[2] = nil puede dejar un hueco en el medio y romper la secuencia.
Prefiera table.remove, que desplaza los elementos y mantiene los índices consecutivos.
local list = {"a", "b", "c"}
table.remove(list, 2)
print(list[1], list[2])Construir a partir de la entrada
Un patrón habitual es comenzar con una tabla vacía y añadir elementos a medida que llegan los datos.
Aquí recopilamos los números pares en una secuencia nueva mediante insert.
local evens = {}
for n = 1, 6 do
if n % 2 == 0 then
table.insert(evens, n)
end
end
print(evens[1], evens[2], evens[3])Insertar y eliminar juntos
Puede combinar las operaciones libremente. A continuación, añadimos tres nombres y después eliminamos el del medio.
Después de la eliminación, la lista contiene dos elementos contiguos.
local names = {}
table.insert(names, "Al")
table.insert(names, "Bea")
table.insert(names, "Cy")
table.remove(names, 2)
print(names[1], names[2])Comprobación rápida
Piense en cómo la eliminación desplaza la secuencia.
Repaso
Ha aprendido a ampliar listas con table.insert (añadiendo elementos al final o insertándolos en una posición basada en 1) y a reducirlas con table.remove, que devuelve el valor eliminado y cierra los huecos.
Evite los huecos manuales con nil. A continuación, recorrerá las secuencias de forma sencilla con ipairs.
Aprende Lua con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 40
- Lecciones
- 159
Preguntas frecuentes
¿La lección «Añadir y eliminar elementos» es gratis?
Sí — el texto completo de «Añadir y eliminar elementos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Lua Academy, actualiza a CoddyKit PRO. El curso de Lua Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Añadir y eliminar elementos»?
Use table.insert y remove Practicas Lua Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Lua Academy?
No se requiere experiencia previa. Lua Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Añadir y eliminar elementos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Lua Academy?
Sí. Cada lección de Lua Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Arrays como tablas
- Añadir y eliminar elementos
- Iterar con ipairs
- Longitud y ordenación