Les tableaux en Luau

Introduction aux Tableaux

Les tableaux sont des structures données essentielles utilisées pour stocker des collections de données ordonnées. Luau, un langage de script léger et performant, utilise un système appelé "table" pour la mise en œuvre de tableaux. Ces derniers permettent de regrouper plusieurs types de données, et les valeurs peuvent être récupérées ou modifiées en utilisant la notation d'index traditionnelle avec des crochets []. Pour vider un tableau, les éléments peuvent être définis à nil.

Syntaxe des Tableaux

Dans Luau, il est possible de créer des tableaux grâce à des accolades {}. Contrairement à certains langages qui commencent l'indexation des tableaux à 0, Luau conventionnellement débute à 1. Cela dit, la flexibilité existe pour créer des tableaux avec des indices personnalisés si nécessaire.

a = {5}  -- Un tableau avec un élément
print(a[1]) -- Ceci retournera 5
print(a[2]) -- Ceci retournera nil, car l'indice est hors limites

Dans l'exemple ci-dessus, le tableau 'a' ne contient qu'un seul élément, accessible avec l'indice 1. Passer un indice en dehors des limites du tableau retournera nil, ce qui indique une absence de données.

Accéder aux Éléments

Pour accéder à un élément d'un tableau, il suffit de faire référence à sa valeur via son index. Prenons l'exemple suivant :

a = {    [1] = "a",    [2] = "b",    [3] = "c"}

Dans ce tableau, les éléments sont indexés de 1 à 3. Pour afficher la valeur de 'b', il suffira de référencer l'indice 2.

Cette méthode d'indexation s'applique à tous les éléments d'un tableau. Cela fonctionne également avec les dictionnaires, mais dans ce cas, il faut utiliser la clé associée pour accéder à une valeur. La clé peut être de n'importe quel type, tandis qu'un indice doit être un nombre.

dictionary = {    ["A"] = "Apple",    ["B"] = "Banana",    ["C"] = "Cat"}
print(dictionary["C"]) -- "Cat"

Il est important de noter qu'en Lua (et Luau), lorsque vous accédez à un dictionnaire ou à un tableau via un indice ou une clé, Luau renvoie la valeur correspondante, et non l'indice ou la clé elle-même.

Remplacer des Éléments

Les valeurs dans les tableaux de Luau peuvent être réassignées en spécifiant simplement l'indice et la nouvelle valeur souhaitée. Par exemple :

a[2] = "c" -- Maintenant, l'objet à l'indice 2 est 'c' au lieu de 'b'

Pour supprimer un élément d'un tableau, il suffit de réassigner l'indice à nil :

a[2] = nil

Obtenir la Longueur d'un Tableau

Souvent, il est nécessaire de connaître la longueur ou la taille d'un tableau. Dans Luau, on utilise le symbole # avant un tableau pour obtenir sa longueur.

Note : Ce symbole retourne le dernier indice du tableau, qui peut ne pas correspondre à la taille réelle du tableau.

ames = {"Alice", "Bob", "Charlie", "David"} -- Tableau de noms
local size = #names -- Pour obtenir la taille du tableau 'names'
for i = 1, size do  
    print(names[i]) -- Accéder et imprimer chaque élément du tableau
end

Ajouter et Supprimer des Éléments

Il est possible d'ajouter des éléments à la fin d'un tableau grâce à la fonction table.insert() :

table.insert(a, 6) -- Ajoute la valeur 6 à la fin du tableau 'a'

Pour supprimer un élément d'un tableau, utilisez la fonction table.remove() :

table.remove(a, 3) -- Supprime l'élément à l'indice 3 du tableau 'a'

Tableaux Multi-Dimensionnels

Luau prend en charge les tableaux multi-dimensionnels, qui sont des tableaux de tableaux. Ils peuvent être créés de la manière suivante :

matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}

Pour accéder aux éléments d'un tableau multi-dimensionnel, il faut utiliser plusieurs ensembles de crochets :

value = matrix[2][3] -- Accède à l'élément de la ligne 2, colonne 3 de la matrice