Tableau Lua


Un tableau est une collection d'éléments du même type de données disposés dans un certain ordre. Il peut s'agir d'un tableau unidimensionnel ou d'un tableau multidimensionnel.

La valeur de la clé d'index du tableau Lua peut être représentée par un entier et la taille du tableau n'est pas fixe.


Tableau unidimensionnel

Le tableau unidimensionnel est le tableau le plus simple, et sa structure logique est un tableau linéaire. Les tableaux unidimensionnels peuvent utiliser la boucle for pour boucler les éléments du tableau, comme le montre l'exemple suivant :

array = {"Lua", "Tutorial"}

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

Le résultat de l'exécution du code ci-dessus est :

nil
Lua
Tutorial


Comme vous pouvez le voir Oui, nous pouvons accéder à un élément du tableau en utilisant un index entier, renvoyant nul si l'index connu n'a aucune valeur.


Dans Lua, les valeurs d'index commencent par 1, mais vous pouvez également spécifier 0 comme point de départ.

De plus, nous pouvons également utiliser des nombres négatifs comme valeurs d'index de tableau :

array = {}

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

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

Le résultat de l'exécution du code ci-dessus est :

-4
-2
0
2
4

Tableau multidimensionnel

Un tableau multidimensionnel signifie que le tableau contient un tableau ou que la clé d'index d'un tableau unidimensionnel correspond à un tableau.

Ce qui suit est un tableau multidimensionnel à trois lignes et trois colonnes :

-- 初始化数组
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

Le résultat de l'exécution de code ci-dessus est :

1
2
3
2
4
6
3
6
9

Un tableau à trois lignes, trois -column array tableau multidimensionnel avec différentes clés d'index :

-- 初始化数组
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

Le résultat de l'exécution du code ci-dessus est :

1
2
3
2
4
6
3
6
9

Comme vous pouvez le voir, dans l'exemple ci-dessus, le tableau est défini à la valeur d'index spécifiée, ce qui peut éviter les valeurs nulles. Permet d'économiser de l'espace mémoire.