0Pricing
Lua Academy · Leçon

Longueur et tri

Comptez et triez les suites.

Longueur et tri est une leçon Lua Academy gratuite sur CoddyKit. Ceci est la leçon 4 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.

L'opérateur de longueur

L'opérateur # renvoie le nombre d'éléments d'une séquence.

Pour une table propre, indexée à partir de 1 et contenant trois éléments, #t vaut 3. Le dernier élément se trouve à l'indice #t.

local list = {"a", "b", "c"}
print(#list)
print(list[#list])

La longueur dans une boucle

Utilisez #t comme limite supérieure d'une boucle numérique for pour parcourir chaque indice.

Comme les séquences commencent à 1, l'intervalle est 1, #t.

local nums = {10, 20, 30, 40}
for i = 1, #nums do
  print(i, nums[i])
end

Tables vides

Une séquence vide a une longueur de 0.

Ainsi, #t == 0 permet de vérifier rapidement si une liste contient des éléments.

local empty = {}
print(#empty)
if #empty == 0 then
  print("list is empty")
end

La longueur après des modifications

Lorsque vous ajoutez ou supprimez des éléments avec les fonctions de table, # est mis à jour en conséquence.

insert augmente le nombre d'éléments et remove le diminue.

local list = {"a", "b"}
table.insert(list, "c")
print(#list)
table.remove(list)
print(#list)

Les trous faussent la longueur

# n'est fiable que pour les séquences sans trous. Un trou peut rendre le résultat indéfini.

Utilisez table.insert et table.remove afin que # reste fiable.

local good = {1, 2, 3}
print(#good)
table.insert(good, 4)
print(#good)

Trier sur place

table.sort(t) réordonne la séquence sur place, du plus petit au plus grand par défaut.

La fonction modifie la table d'origine au lieu d'en renvoyer une nouvelle.

local nums = {3, 1, 2}
table.sort(nums)
print(nums[1], nums[2], nums[3])

Trier des chaînes

Par défaut, les chaînes sont triées par ordre alphabétique, en comparant les caractères un par un.

Après le tri, l'indice 1 contient le premier élément dans l'ordre.

local names = {"Cy", "Ann", "Bob"}
table.sort(names)
print(names[1], names[2], names[3])

Ordre décroissant

Passez une fonction de comparaison pour contrôler l'ordre. Renvoyer a > b place les plus grandes valeurs en premier.

La fonction détermine si a doit précéder b.

local nums = {3, 1, 4, 2}
table.sort(nums, function(a, b)
  return a > b
end)
print(nums[1], nums[2], nums[3], nums[4])

Comparaisons personnalisées

Les comparateurs vous permettent de trier selon n'importe quelle règle, par exemple selon la longueur des chaînes plutôt que selon l'alphabet.

Ci-dessous, les mots les plus courts sont placés en premier.

local words = {"hello", "hi", "howdy"}
table.sort(words, function(a, b)
  return #a < #b
end)
print(words[1], words[2], words[3])

Longueur et tri

Combinez les outils : utilisez sort sur une liste, puis lisez ses extrémités selon leur position.

Après un tri croissant, le minimum se trouve à l'indice 1 et le maximum à l'indice #t.

local data = {7, 2, 9, 4}
table.sort(data)
print("min:", data[1])
print("max:", data[#data])

Trier puis parcourir

Une chaîne de traitement courante consiste à trier la séquence, puis à la parcourir avec ipairs pour l'afficher dans l'ordre.

Le tri réordonne la même table indexée à partir de 1, et le parcours suit donc le nouvel ordre.

local scores = {50, 10, 30}
table.sort(scores)
for i, s in ipairs(scores) do
  print(i, s)
end

Vérification rapide

Rappelez-vous ce que vous fournit l'opérateur de longueur.

Récapitulatif

Vous avez appris que #t compte les éléments d'une séquence sans trous, que le dernier élément se trouve à t[#t] et que table.sort réordonne la séquence sur place, par ordre croissant par défaut ou avec un comparateur personnalisé.

Avec insert, remove et ipairs, vous pouvez désormais gérer les séquences Lua avec assurance.

Questions Fréquemment Posées

La leçon « Longueur et tri » est-elle gratuite ?

Oui — le texte complet de « Longueur et tri » 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 « Longueur et tri » ?

Comptez et triez les suites. 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 4 sur 4.

Combien de temps prend la leçon « Longueur et tri » ?

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

  1. Tableaux sous forme de tables
  2. Ajouter et supprimer des éléments
  3. Parcourir avec ipairs
  4. Longueur et tri
← Retour à Lua Academy