Ajouter et supprimer des éléments
Utilisez table.insert et remove.
Ajouter et supprimer des éléments est une leçon Lua Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Lua Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Lua Academy comprend 4 leçons au total.
Faire grandir une séquence
Les listes réelles changent de taille pendant l'exécution d'un programme. Lua fournit table.insert pour ajouter des éléments à la fin.
Comme les séquences commencent à l'indice 1, un ajout après deux éléments se place à l'indice 3.
local list = {"a", "b"}
table.insert(list, "c")
print(list[1], list[2], list[3])table.insert ajoute en fin
Appelée avec deux arguments, table.insert(t, value) place value juste après le dernier indice actuel.
Chaque appel agrandit la séquence d'un élément tout en conservant des indices contigus.
local q = {}
table.insert(q, "first")
table.insert(q, "second")
print(q[1], q[2])Insérer à une position
Avec trois arguments, table.insert(t, pos, value) insère l'élément à l'indice pos et décale les éléments suivants vers le haut.
Ici, nous plaçons "X" à la position 2 : l'ancien deuxième élément passe donc à la position 3.
local list = {"a", "b", "c"}
table.insert(list, 2, "X")
print(list[1], list[2], list[3], list[4])Insérer au début
Pour ajouter un élément au début, insérez-le à la position 1. Chaque élément existant est décalé d'un indice vers le haut.
C'est pratique, mais plus lent pour les grandes listes, car Lua doit déplacer tous les éléments.
local list = {"b", "c"}
table.insert(list, 1, "a")
print(list[1], list[2], list[3])Supprimer le dernier élément
table.remove(t) avec un seul argument supprime et renvoie le dernier élément.
La séquence diminue d'un élément et reste dépourvue de trous.
local list = {"a", "b", "c"}
local gone = table.remove(list)
print("removed:", gone)
print(list[1], list[2], list[3])Supprimer à une position
table.remove(t, pos) supprime l'élément situé à pos et décale les éléments suivants vers le bas pour combler le trou.
N'oubliez pas que les positions commencent à 1 : pos = 1 supprime donc le premier élément.
local list = {"a", "b", "c"}
local gone = table.remove(list, 1)
print("removed:", gone)
print(list[1], list[2])remove renvoie la valeur
Les deux formes de table.remove renvoient la valeur retirée, ce qui vous permet de l'utiliser immédiatement.
Une table peut ainsi se comporter comme une pile : empilez avec insert et dépilez avec remove.
local stack = {}
table.insert(stack, 10)
table.insert(stack, 20)
local top = table.remove(stack)
print("popped:", top)Une file simple
Insérez à la fin et supprimez au début (pos = 1) pour modéliser une file : premier entré, premier sorti.
Chaque suppression décale le reste vers le bas ; le prochain élément se retrouve donc à l'indice 1.
local queue = {}
table.insert(queue, "Ann")
table.insert(queue, "Bob")
print("serving:", table.remove(queue, 1))
print("next:", queue[1])Éviter les trous manuels
Définir un élément sur nil avec list[2] = nil peut laisser un trou au milieu et casser la séquence.
Préférez table.remove, qui décale les éléments et conserve des indices continus.
local list = {"a", "b", "c"}
table.remove(list, 2)
print(list[1], list[2])Construire à partir des entrées
Un schéma courant consiste à commencer avec une table vide et à ajouter des éléments à mesure que les données arrivent.
Ici, nous recueillons les nombres pairs dans une nouvelle séquence avec insert.
local evens = {}
for n = 1, 6 do
if n % 2 == 0 then
table.insert(evens, n)
end
end
print(evens[1], evens[2], evens[3])Insérer et supprimer ensemble
Vous pouvez combiner librement les opérations. Ci-dessous, nous ajoutons trois noms, puis nous supprimons celui du milieu.
Après la suppression, la liste contient deux éléments contigus.
local names = {}
table.insert(names, "Al")
table.insert(names, "Bea")
table.insert(names, "Cy")
table.remove(names, 2)
print(names[1], names[2])Vérification rapide
Réfléchissez à la manière dont une suppression décale la séquence.
Récapitulatif
Vous avez appris à faire grandir les listes avec table.insert (ajouter en fin ou insérer à une position commençant à 1) et à les réduire avec table.remove, qui renvoie la valeur supprimée et comble les trous.
Évitez les trous manuels de nil. Vous allez maintenant parcourir proprement les séquences avec ipairs.
Questions Fréquemment Posées
La leçon « Ajouter et supprimer des éléments » est-elle gratuite ?
Oui — le texte complet de « Ajouter et supprimer des éléments » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Lua Academy, passe à CoddyKit PRO. Le cours Lua Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Ajouter et supprimer des éléments » ?
Utilisez table.insert et remove. Tu pratiques Lua Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Lua Academy ?
Aucune expérience préalable n'est requise. Lua Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Ajouter et supprimer des éléments » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Lua Academy ?
Oui. Chaque leçon Lua Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Tableaux sous forme de tables
- Ajouter et supprimer des éléments
- Parcourir avec ipairs
- Longueur et tri