English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Array, é uma coleção de elementos do mesmo tipo de dados organizados em uma ordem específica, pode ser um array unidimensional e um array multidimensional.
Os índices de chave do array do Lua podem ser representados por inteiros, e o tamanho do array não é fixo.
O array unidimensional é o mais simples, sua estrutura lógica é uma tabela linear. O array unidimensional pode usar um loop for para exibir os elementos do array, conforme o exemplo a seguir:
array ={"Lua", "Tutorial"} for i= 0, 2 do print(array[i]) end
O resultado da execução do código acima é:
nil Lua Tutorial
Como você pode ver, podemos usar índices inteiros para acessar elementos do array, e se o índice conhecido não tiver valor, ele retornará nil.
Nos índices do Lua são representados por 1 como ponto de partida, mas você também pode especificar o início com 0.
Além disso, podemos usar índices de números negativos para arrays:
array ={} for i= -2, 2 do array[i] = i *2 end for i = -2,2 do print(array[i]) end
O resultado da execução do código acima é:
-4 -2 0 2 4
A matriz multidimensional é uma matriz que contém matrizes ou arrays unidimensionais, onde a chave de índice de um array é correspondida a uma matriz.
A seguir está uma matriz multidimensional de três linhas e três colunas:
-- Inicializar o array array ={} for i=1,3 do array[i] ={} for j=1,3 do array[i][j] = i*j end end -- Acessar o array for i=1,3 do for j=1,3 do print(array[i][j]) end end
O resultado da execução do código acima é:
1 2 3 2 4 6 3 6 9
Matriz multidimensional de três linhas e três colunas com diferentes chaves de índice:
-- Inicializar o array array ={} maxRows = 3 maxColumns = 3 for row=1,maxRows do for col=1,maxColumns do array[row*maxColumns +col] = row*col end end -- Acessar o array for row=1,maxRows do for col=1,maxColumns do print(array[row*maxColumns +col]) end end
O resultado da execução do código acima é:
1 2 3 2 4 6 3 6 9
Como você pode ver, nos exemplos acima, o array define valores de índice específicos, o que evita a ocorrência de valores nil e é benéfico para economizar espaço em memória.