table.concat()
Teil des Abschnitts Logic & Flow der Lua-Journey von Coddy — Lektion 5 von 54.
Manchmal müssen Sie alle Elemente in einer tabellenartigen Liste zu einem einzigen String zusammenfügen. Lua bietet die Funktion table.concat() speziell für diesen Zweck an, was es einfach macht, Tabellenelemente mit einem Trennzeichen Ihrer Wahl zu verbinden.
Die grundlegende Syntax sieht so aus:
local result = table.concat(myTable, separator)Hier ist ein einfaches Beispiel mit einer Liste von Wörtern:
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Ausgabe: Hello from LuaSie können auch steuern, welcher Teil der Tabelle zusammengefügt werden soll, indem Sie Start- und Endpositionen als zusätzliche Argumente angeben. Dies ist nützlich, wenn Sie nur bestimmte Elemente kombinieren möchten:
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- Ausgabe: 2-3-4Die table.concat()-Funktion arbeitet ausschließlich mit Tabellen im Listenstil und konvertiert jedes Element in eine Zeichenfolge, bevor sie zusammengefügt werden.
Aufgabe
EinfachSchreibe eine Funktion buildPath, die eine folders-Tabelle und einen separator-String entgegennimmt und einen einzelnen Pfad-String zurückgibt, bei dem alle Ordner durch das Trennzeichen verbunden sind.
Verwende table.concat(), um alle Ordnernamen zu einem einzigen Pfad-String zu kombinieren.
Parameter:
folders(table): Eine Tabellenliste, die Ordnernamen als Strings enthältseparator(string): Das Zeichen oder der String, der zwischen den Ordnernamen verwendet werden soll (z. B."/"oder"\\")
Rückgabewert: Ein einzelner String, bei dem alle Ordner durch das Trennzeichen verbunden sind (string)
Spickzettel
Die Funktion table.concat() kombiniert alle Elemente in einer listenartigen Tabelle zu einem einzelnen String mit einem Trennzeichen:
local result = table.concat(myTable, separator)Grundlegendes Beispiel:
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Ausgabe: Hello from LuaSie können Start- und Endpositionen angeben, um nur bestimmte Elemente zu verbinden:
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- Ausgabe: 2-3-4Die Funktion arbeitet ausschließlich mit listenartigen Tabellen und konvertiert jedes Element vor dem Zusammenfügen in einen String.
Probier es selbst
function buildPath(folders, separator)
-- Hier Code schreiben
end
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logic & Flow
1Fortgeschrittene Table-Iteration
Iterieren mit pairs()Iterieren mit ipairs()pairs() vs. ipairs()Zusammenfassung – Charakterbogen4Einführung in Metatables
Was ist eine Metatable?setmetatable & getmetatableDie __index-MetamethodeDie __newindex-MetamethodeDie __tostring-MetamethodeArithmetische Metamethoden Teil 1Arithmetische Metamethoden Teil 2Zusammenfassung – Schreibgeschützte Tabellen7Fortgeschrittene String-Manipulation
string.gsub() für ErsetzungenEinführung in String-Patternsstring.find()string.match()Iterieren mit string.gmatch()Rückblick – Log-File-Parser2Weitere Funktionen der Table-Bibliothek
table.concat()Tabellenerstellung & unpack()table.sort()Benutzerdefiniertes Sortieren mit FunktionenRückblick – Highscore-Tabelle