Menu
Coddy logo textTech

Ajout et lecture d'éléments

Fait partie de la section Introduction à Luau du Journey Lua de Coddy — leçon 14 sur 73.

Vous agrandissez et réduisez déjà les tables Lua avec table.insert et table.remove — les deux fonctionnent exactement de la même manière sur les tableaux typés. La différence est que Luau vérifie maintenant ce que vous insérez : ajouter une chaîne de caractères (string) dans un tableau de type {number} est signalé pendant que vous tapez, et non découvert par un joueur confus lors de l'exécution.

local queue: {string} = {"save", "load"}
table.insert(queue, "quit")      -- ajoute à la fin
table.insert(queue, 1, "help")   -- insère à la position 1, en décalant le reste
local last = table.remove(queue) -- supprime ET retourne le dernier élément

table.remove(t) retire le dernier élément et vous le renvoie ; table.remove(t, 1) retire le premier et décale tout vers le bas. Comme le tableau est typé {string}, Luau sait que la valeur retournée est une chaîne de caractères.

La lecture est tout aussi tolérante qu'en Lua classique : un indice qui ne contient rien — queue[0], queue[-1] ou tout ce qui dépasse #queue — s'évalue silencieusement en nil. Aucune erreur n'est levée, vérifiez donc la présence de nil avant d'utiliser une valeur dont vous n'êtes pas sûr de l'existence.

Un outil supplémentaire pour votre boîte à outils : table.freeze(t) rend une table en lecture seule à l'exécution — toute tentative ultérieure de la modifier lève une erreur. C'est la solution de Luau pour les données constantes (configuration, listes de niveaux fixes) qui ne doivent jamais changer après leur création.

challenge icon

Défi

Facile

Créez un tableau typé queue: {string} initialisé avec "save" et "load". Ensuite :

  1. ajoutez "quit" avec table.insert
  2. insérez "help" à la position 1
  3. supprimez la dernière commande avec table.remove, en stockant la valeur retournée

Enfin, affichez, chacun sur sa propre ligne :

  1. la commande supprimée
  2. combien de commandes restent
  3. la première commande dans la file d'attente
  4. queue[10] — un emplacement qui ne contient rien

Essayez vous-même

-- Écrivez le code ici
-- 1) déclarer queue : {string} avec "save" et "load"
-- 2) ajouter "quit", insérer "help" à la position 1
-- 3) supprimer la dernière commande, puis afficher les quatre valeurs
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Introduction à Luau