Ajouter et lire des éléments
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 14 sur 80.
Tu fais déjà grandir et rétrécir 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, c’est que Luau vérifie ce que tu insères désormais : l’ajout d’une chaîne dans un tableau {number} est signalé pendant que tu écris, au lieu d’être découvert à l’exécution par un joueur perplexe.
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 les autres éléments
local last = table.remove(queue) -- supprime ET renvoie le dernier élémenttable.remove(t) retire le dernier élément et te le renvoie ; table.remove(t, 1) retire le premier et décale tous les autres. Comme le tableau est de type {string}, Luau sait que la valeur renvoyée est une chaîne.
La lecture est tout aussi tolérante qu’en Lua classique : un index qui ne contient rien, queue[0], queue[-1] ou n’importe quel index supérieur à #queue donne simplement nil. Aucune erreur n’est générée ; vérifie donc que la valeur est différente de nil avant de l’utiliser si tu n’es pas sûr qu’elle existe.
Défi
FacileFais grandir et rétrécir une liste typée de déplacements.
- Déclare
local moves: {string} = {"jump", "run"}. - Ajoute
"duck"avectable.insert, puis insère"crawl"à la position 1. - Stocke
table.remove(moves)danslocal removed, puis afficheremoved,#moves,moves[1]etmoves[10].
Clique sur Run Code : le résultat affiche duck, 3, crawl et nil.
Essayez vous-même
-- 1) déclare moves: {string} avec "jump" et "run"
-- 2) ajoute "duck" à la fin, insère "crawl" à la position 1
-- 3) supprime le dernier mouvement, puis affiche les quatre valeurs
Toutes les leçons de Introduction à Luau
1Premiers pas avec Luau
Qu'est-ce que Luau ?Pourquoi utiliser Luau ?Votre premier code LuauVérification de type et modes d'erreurRécapitulatif : Introduction à Luau4Travailler avec les fonctions
Typer les paramètres et les valeurs de retourTyper les fonctions anonymesFonctions sans valeur de retourParamètres optionnelsValeurs par défaut des paramètresValeurs par défaut pour les booléensFonctions variadiquesDéfinir des types de fonctionsRécapitulatif : fonctions typées7Projet : gestionnaire de tâches typé
Projet : la structure d’une tâcheFonction pour ajouter une tâche2Types fondamentaux
Nombre, chaîne de caractères et booléenLe type « any » : une échappatoireLe type « unknown »Types nil et optionnelsL’inférence de types en actionAnnotations de type explicitesRécapitulatif : exercices sur les types fondamentaux5Alias, unions et intersections
Alias de types pour les types primitifsTypes unionsTravailler avec les types unionsTypes littérauxTypes intersectionsCombinaison d'alias de typesRécapitulatif : Combinaisons de types avancées3Tables typées : tableaux et maps
Tableaux typésAjouter et lire des élémentsQu’est-ce qu’un type Map ?Déclarer et accéder aux mapsParcourir les tablesTables de formes mixtesLire une grilleConstruire une grilletable.unpackRécapitulatif : tableaux et mapsEntraînez-vous par vous-même : Compilateur Luau en ligne