Latest web development tutorials

matriz Lua

Array é uma colecção de o mesmo tipo de elementos de dados numa determinada ordem, o que pode ser matrizes unidimensionais e matrizes.

Lua valores de chave índice de matriz pode ser utilizado como um número inteiro, o tamanho da matriz não é fixo.


Unidimensional matriz

matriz unidimensional é uma matriz de estrutura mais simples e lógica é uma forma linear. Uma matriz tridimensional pode ser utilizado para os elementos de laço na matriz, os seguintes exemplos:

array = {"Lua", "Tutorial"}

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

A saída é o código acima é executado:

nil
Lua
Tutorial

Como você pode ver, nós podemos usar um índice inteiro para acessar elementos da matriz, se você sabe que não há valor do índice é retornado nulo.

Em Lua valores de índice são um começo, mas você também pode especificar 0.

Exceto Além disso, também pode ser um valor de índice de matriz negativo:

array = {}

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

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

A saída é o código acima é executado:

-4
-2
0
2
4

arrays multidimensionais

matriz multidimensional que é uma matriz que contém uma matriz de chave ou um índice de matriz unidimensional correspondente à matriz.

Aqui está um conjunto de três linhas e três colunas em uma 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

A saída é o código acima é executado:

1
2
3
2
4
6
3
6
9

Três fileiras de três matrizes de matrizes diferentes chaves 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

A saída é o código acima é executado:

1
2
3
2
4
6
3
6
9

Como você pode ver, os exemplos acima, o índice de matriz é definido como o valor especificado, portanto, pode evitar valor nulo, ajudam a economizar espaço de memória.