table.concat()
Fait partie de la section Logic & Flow du Journey Lua de Coddy — leçon 5 sur 54.
Parfois, vous avez besoin de combiner tous les éléments d'un tableau de type liste en une seule chaîne de caractères. Lua fournit la fonction table.concat() spécifiquement à cet effet, ce qui facilite la jointure des éléments du tableau avec un séparateur de votre choix.
La syntaxe de base ressemble à ceci :
local result = table.concat(myTable, separator)Voici un exemple simple avec une liste de mots :
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Résultat : Hello from LuaVous pouvez également contrôler quelle partie du tableau joindre en fournissant des positions de début et de fin comme arguments supplémentaires. Cela est utile lorsque vous souhaitez uniquement combiner des éléments spécifiques :
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- Sortie : 2-3-4La fonction table.concat() fonctionne exclusivement avec des tables de type liste et convertit chaque élément en une chaîne de caractères avant de les joindre.
Défi
FacileÉcrivez une fonction buildPath qui prend une table folders et une chaîne de caractères separator, et retourne une chaîne de chemin unique avec tous les dossiers joints par le séparateur.
Utilisez table.concat() pour combiner tous les noms de dossiers en une seule chaîne de chemin.
Paramètres :
folders(table) : Une table de type liste contenant des noms de dossiers sous forme de chaînes de caractèresseparator(string) : Le caractère ou la chaîne à utiliser entre les noms de dossiers (par exemple,"/"ou"\\")
Retourne : Une seule chaîne avec tous les dossiers joints par le séparateur (string)
Aide-mémoire
La fonction table.concat() combine tous les éléments d'un tableau de type liste en une seule chaîne de caractères avec un séparateur :
local result = table.concat(myTable, separator)Exemple de base :
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Résultat : Hello from LuaVous pouvez spécifier des positions de début et de fin pour joindre uniquement des éléments spécifiques :
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- Résultat : 2-3-4La fonction travaille exclusivement avec des tableaux de type liste et convertit chaque élément en une chaîne de caractères avant la jointure.
Essayez vous-même
function buildPath(folders, separator)
-- Écrivez le code ici
end
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logic & Flow
1Itération avancée des tables
Itérer avec pairs()Itérer avec ipairs()pairs() vs. ipairs()Récapitulatif - Fiche de personnage2Plus de fonctions de la bibliothèque table
table.concat()Construction de table & unpack()table.sort()Tri personnalisé avec des fonctionsRécapitulatif - Tableau des scores3Concepts avancés sur les fonctions
Retourner plusieurs valeursFonctions variadiques (...)Les fonctions comme valeurs de première classeFonctions anonymesQu'est-ce qu'une closure ?Récapitulatif - Gestionnaire d'événements simple