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