English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Un array es una colección de elementos de tipo de datos idénticos ordenados de manera determinada, puede ser un array unidimensional y un array multidimensional.
Los valores de clave de índice de un array de Lua se pueden representar con enteros, y el tamaño del array no es fijo.
Un array unidimensional es el más simple, su estructura lógica es una tabla lineal. Un array unidimensional puede usar un bucle for para extraer elementos del array, como en el siguiente ejemplo:
array = {"Lua", "Tutorial"} for i= 0, 2 do print(array[i]) end
El resultado de la ejecución del código anterior es:
nil Lua Tutorial
Como puedes ver, podemos usar índices enteros para acceder a los elementos del array, y si el índice conocido no tiene valor, se devuelve nil.
En Lua, los valores de índice son 1 como punto de partida, pero también puedes especificar que comience en 0.
Además, podemos usar números negativos como valores de índice de array:
array ={} for i= -2, 2 do array[i] = i *2 end for i = -2,2 do print(array[i]) end
El resultado de la ejecución del código anterior es:
-4 -2 0 2 4
Una matriz multidimensional es una matriz que contiene matrices o arreglos unidimensionales, donde la clave de índice de un array es una matriz.
A continuación, se muestra una matriz multidimensional de tres filas y tres columnas:
-- Inicializar el array array ={} for i=1,3 do array[i] = {} for j=1,3 do array[i][j] = i*j end end -- Acceder al array for i=1,3 do for j=1,3 do print(array[i][j]) end end
El resultado de la ejecución del código anterior es:
1 2 3 2 4 6 3 6 9
Matriz multidimensional de tres filas y tres columnas con diferentes claves de índice:
-- Inicializar el array array ={} maxRows = 3 maxColumns = 3 for row=1,maxRows do for col=1,maxColumns do array[row*maxColumns +col] = row*col end end -- Acceder al array for row=1,maxRows do for col=1,maxColumns do print(array[row*maxColumns +col]) end end
El resultado de la ejecución del código anterior es:
1 2 3 2 4 6 3 6 9
Como puedes ver, en los ejemplos anteriores, el array ha establecido un valor de índice específico, lo que evita la aparición de valores nil y es beneficioso para ahorrar espacio en memoria.