Les tables en Lua

Apprendre la programmation en Lua, notamment en lien avec Garry's Mod

Niveau Intermédiaire
11 minutes de lecture
Apprendre le Lua

Tu as déjà entendu parler des tables mais tu ne sais pas ce que c'est ou même comment t'en servir ? Je vais essayer de tout t'expliquer, le plus simplement et le plus clairement possible.


Qu'est ce qu'une table ?

Une table, c'est avant tout un "type de variable" (comme les strings par exemple). Elle te permet de stocker une ou plusieurs informations et de les catégoriser. On la stocke dans une variable ! Si tu ne sais pas ce qu'est une variable, je t'invite à aller regarder nos tutoriels sur le lua ! Les tables sont organisées de façon très stricte, il faut être le plus clair possible ! À l'intérieur on trouve deux choses, un index et une value :

Je te vois déjà venir, tu es en train de copier coller le code pour le mettre dans ton fichier ! Attends un peu et continues de lire sinon tu vas avoir des erreurs ! Comme tu peux le constater, nous déclarons notre variable tbl et après on y met une { que l'on ferme à la fin. Les accolades servent à créer notre table. Maintenant que tu as vu ça, passons à ligne juste en dessous. Comme je t'ai dit, dans une table, il y a un index et une valeur. L'index correspond à "la ligne", celui-ci doit être unique, sinon, tu auras une des deux valeurs que tu ne verras pas dans ta table. La value elle, correspond à la valeur à laquelle tu veux accéder via ton index : elle peut être une string, une boolean, un float, une fonction et bien plus encore ! Tu ne comprends peut-être toujours pas comment est formée une table ? Ok ! Tu peux imaginer ça avec un tableau, avec deux colonnes : Alt text Une table a toujours deux colonnes, un index, et une valeur ! Les développeurs te diront surement que tu peux en avoir plus si tu crées des tables dans des tables, mais ça, ce n'est pas pour tout de suite ! /!\ ATTENTION : On ne peut pas avoir seulement un index ou une valeur, il faut forcément avoir les deux. Maintenant que tu as compris comment les tables fonctionnent, dans les grandes lignes (sans jeux de mots), passons aux deux types de tables différentes !


Les indexs numériques

Une table peut avoir ce qu'on appelle des index numériques ! Tu veux voir ça ? C'est parti ! Il faut savoir qu'une table avec des indexs numériques, tu as deux manières de t'en servir !

Si tu as suivi un peu plus haut, tu remarqueras surement qu'ici, on n'a pas d'index ! Et bien oui Michel ! Comme dit plus haut, tu ne vois pas forcément l'index. Mais pas de panique : il est bien là, caché ! En effet, ici, nous déclarons simplement nos valeurs, l'interpréteur met les index tout seul ! Il est également possible de préciser les index :

Les deux méthodes reviennent au même, seule la syntaxe diffère !


Les index en chaîne de caractères

Tu peux aussi mettre des strings comme valeur de tes index :

Cela peut te permettre par exemple de faire des vérifications plus rapides (vérifier si une valeur est bien dans ta table par exemple) ! Ça tombe bien car on voit ça très bientôt !


Un exemple un peu plus compliqué

Vous savez quand je vous ai dit qu'on pouvait mettre ce qu'on voulait en index et en value ? Mettons ça en pratique !

Bon là on a une table vraiment complexe et on s'y retrouve pas vraiment, mais ça vous permet de voir à quel point on peut faire ce qu'on veut avec les tables. Relisez bien cette table, on s'en resservira très bientôt.

Traiter les informations de notre table

C'est bien beau de créer une table, mais comment s'en servir ? On va voir deux manières d'accéder à ce qu'on stocke.


Grâce à une expression littérale

Il est possible effectivement de récupérer une valeur grâce à une expression littérale. Je vais te montrer ça plus en détail !

Ici on affiche l'élément à l'index 1 de la table tbl. Nous n'allons pas trop nous attarder sur le print : il sert à afficher la valeur. On écrit en premier le nom de notre variable, ici tbl, auquel on ajoute entre crochets l'index auquel on veut accéder tbl[1]. On peut chaîner les crochets, donc pour reprendre l'exemple de ma tblComplexe de tout à l'heure :

On peut mettre une variable entre les crochets, donc on peut faire ça par exemple :

Cette propriété va nous être utile si on utilise des boucles !


Grâce à une boucle

Et oui, il nous reste encore le sujet des boucles à aborder ! Je te l'expliquerai dans un autre tutoriel, car il existe deux types de boucles différents (oui, encore) et je pourrais pas tout t'expliquer ici !


Bien évidemment, je n'ai pas fait le tutoriel spécifiquement pour le GLua, j'ai essayé de faire un cas général pour le Lua mais tu peux bien évidemment t'en servir sur Garry's Mod !

Rejoindre la communauté de développeurs

Rejoins notre communauté de développeurs pour progresser et t'améliorer

Passer au chapitre suivant :