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.