Les langages / Lua / Tables : tableaux et dictionnaires
Tables - Les tableaux
Les tables sont la seule structure de données en Lua. Elles peuvent servir de tableaux (arrays), dictionnaires (hash maps), objets et plus encore. Les indices commencent à 1 par convention.
Création et manipulation de tableaux
-- Création d'un tableau
local fruits = {"Pomme", "Banane", "Orange"}
-- Accès aux éléments (commence à 1!)
print(fruits[1]) -- Pomme
print(fruits[2]) -- Banane
-- Modifier un élément
fruits[2] = "Fraise"
-- Ajouter un élément
fruits[4] = "Kiwi"
table.insert(fruits, "Mangue") -- Ajoute à la fin
-- Taille du tableau
print("Nombre de fruits:", #fruits)
Fonctions de manipulation de tableaux
local nombres = {10, 5, 30, 15, 25}
-- Ajouter à la fin
table.insert(nombres, 40)
-- Ajouter à une position
table.insert(nombres, 2, 99) -- Insère 99 à l'index 2
-- Retirer de la fin
local dernier = table.remove(nombres)
-- Retirer à une position
local deuxieme = table.remove(nombres, 2)
-- Trier
table.sort(nombres)
for i, v in ipairs(nombres) do
print(i, v)
end
Parcourir un tableau
local animaux = {"Chat", "Chien", "Oiseau", "Poisson"}
-- Avec ipairs (indices numériques)
print("Avec ipairs:")
for index, animal in ipairs(animaux) do
print(index .. ": " .. animal)
end
-- Avec for numérique
print("\nAvec for:")
for i = 1, #animaux do
print(i .. ": " .. animaux[i])
end
7 exercices pour cette lecon
Les exercices demandent un compte : il faut bien enregistrer votre progression quelque part. La lecture, elle, reste libre. Creer un compte
- Table simple facile 10 XP
- Accéder aux éléments d'une table facile 10 XP
- Longueur d'une table facile 10 XP
- Ajouter des éléments à une table moyen 20 XP
- Supprimer des éléments moyen 20 XP
- Table.concat moyen 20 XP
- Table.sort moyen 20 XP