En Lua, los arrays no son un tipo de dato separado como en otros lenguajes de programación. En su lugar, Lua utiliza tablas (tables) para implementar arrays y otras estructuras de datos, como listas o diccionarios. Las tablas en Lua son muy versátiles y pueden actuar como arrays cuando sus índices son números consecutivos.
Un array en Lua se declara utilizando llaves {}
y colocando los elementos separados por comas.
local array = {10, 20, 30, 40, 50}
En este ejemplo:
array
es una tabla que actúa como un array.
1
, ya que Lua utiliza índices basados en 1, a diferencia de muchos lenguajes que usan índices basados en 0.
Para acceder a los elementos de un array, se utiliza el índice entre corchetes []
.
print(array[1]) -- Imprime el primer elemento: 10
print(array[3]) -- Imprime el tercer elemento: 30
Recuerda que en Lua el primer índice es 1
, no 0
.
Puedes modificar un elemento de un array asignando un nuevo valor a una posición específica.
array[2] = 25
print(array[2]) -- Ahora imprime 25 en lugar de 20
Lua permite agregar nuevos elementos a un array simplemente asignando un valor a un nuevo índice.
array[6] = 60
print(array[6]) -- Imprime el valor 60
También puedes utilizar la función table.insert()
para agregar un nuevo elemento en una posición específica.
table.insert(array, 3, 35) -- Inserta el número 35 en la posición 3
print(array[3]) -- Imprime 35
Para eliminar un elemento de un array, puedes utilizar la función table.remove()
.
table.remove(array, 2) -- Elimina el elemento en la posición 2
print(array[2]) -- Ahora imprime el valor del que era el tercer elemento
Para obtener la longitud de un array en Lua, puedes utilizar la función #
.
print(#array) -- Imprime el número de elementos en el array
Puedes recorrer un array en Lua utilizando un bucle for
. La forma más común es utilizando el índice del array.
for i = 1, #array do
print(array[i])
end
Otra forma de recorrer un array es utilizando el bucle for
con el iterador ipairs()
, que itera sobre los índices numéricos de la tabla.
for index, value in ipairs(array) do
print(index, value)
end
local array = {10, 20, 30}
-- Acceder a elementos
print("Elemento en el índice 1:", array[1])
-- Modificar un elemento
array[2] = 25
print("Nuevo valor en el índice 2:", array[2])
-- Agregar un elemento
table.insert(array, 40)
print("Nuevo valor agregado en el índice 4:", array[4])
-- Eliminar un elemento
table.remove(array, 1)
print("Elemento en el índice 1 después de eliminar:", array[1])
-- Recorrer el array
for i, v in ipairs(array) do
print("Índice", i, "Valor", v)
end
Salida:
Elemento en el índice 1: 10
Nuevo valor en el índice 2: 25
Nuevo valor agregado en el índice 4: 40
Elemento en el índice 1 después de eliminar: 25
Índice 1 Valor 25
Índice 2 Valor 30
Índice 3 Valor 40
En Lua, los arrays son implementados utilizando tablas, lo que les otorga una gran flexibilidad para almacenar y manipular datos. Puedes crear, modificar, recorrer y eliminar elementos de un array utilizando simples operaciones con tablas. Al comprender cómo funcionan las tablas, puedes aprovechar al máximo las capacidades de Lua para trabajar con arrays y otras estructuras de datos.
Para más información sobre el uso de arrays en Lua, consulta la documentación oficial de Lua.
Jorge García
Fullstack developer