Latest web development tutorials

matriz Lua

Matriz es una colección de el mismo tipo de elementos de datos en un orden determinado, que puede ser matrices unidimensionales y matrices multidimensionales.

los valores de clave de índice de matriz Lua se pueden utilizar como un entero, el tamaño de la matriz no es fijo.


Unidimensional matriz

matriz unidimensional es una matriz de la estructura más simple, lógico es una forma lineal. One-dimensional array se puede utilizar para los elementos de bucle de la matriz, los siguientes ejemplos:

array = {"Lua", "Tutorial"}

for i= 0, 2 do
   print(array[i])
end

La salida se se ejecuta el código anterior:

nil
Lua
Tutorial

Como se puede ver, se puede usar un índice de enteros para acceder a elementos de la matriz, si se sabe que no hay valor de índice se devuelve nulo.

En Lua valores de índice son 1 comienzo, pero también se puede especificar 0.

Salvo Además, también puede ser un valor de índice de matriz negativa:

array = {}

for i= -2, 2 do
   array[i] = i *2
end

for i = -2,2 do
   print(array[i])
end

La salida se se ejecuta el código anterior:

-4
-2
0
2
4

Las matrices multidimensionales

matriz multidimensional que es una matriz que contiene una matriz de clave de índice o una matriz unidimensional correspondiente a la matriz.

Aquí es una matriz de tres filas y tres columnas en una matriz multidimensional:

-- 初始化数组
array = {}
for i=1,3 do
   array[i] = {}
      for j=1,3 do
         array[i][j] = i*j
      end
end

-- 访问数组
for i=1,3 do
   for j=1,3 do
      print(array[i][j])
   end
end

La salida se se ejecuta el código anterior:

1
2
3
2
4
6
3
6
9

Tres filas de tres conjuntos de matrices multidimensionales diferentes claves de índice:

-- 初始化数组
array = {}
maxRows = 3
maxColumns = 3
for row=1,maxRows do
   for col=1,maxColumns do
      array[row*maxColumns +col] = row*col
   end
end

-- 访问数组
for row=1,maxRows do
   for col=1,maxColumns do
      print(array[row*maxColumns +col])
   end
end

La salida se se ejecuta el código anterior:

1
2
3
2
4
6
3
6
9

Como se puede ver, los ejemplos anteriores, el índice de matriz se establece en el valor especificado, por lo que se pueden evitar con un valor nulo, ayudará a ahorrar espacio en la memoria.