Aller au contenu principal
ShadowAcademy

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