Zum Hauptinhalt springen

Eine Tabelle aus serialisiertem Text laden (table.load_string)

Deklaration

Tabelle = table.load_string(Tabellentext)

Parameter

  • Tabellentext
    Texttyp, der serialisierte Text der Tabellenbaumstruktur; darf nur statische Daten und keinen dynamischen Code enthalten

Rückgabewerte

  • Tabelle
    Tabellentyp oder nil; bei Erfolg wird die Tabellenstruktur zurückgegeben, bei Fehlschlag nil

Beschreibung

Wandelt die Textbeschreibung einer Baumstruktur in ein Tabellenobjekt um.
In gewissem Umfang kann table.load_string als Umkehrfunktion von table.deep_dump betrachtet werden (die tatsächliche Nutzbarkeit hängt davon ab, ob zyklische Verweise oder Nicht-Tabellen-Referenztypen vorhanden sind).
Anders als load führt diese Funktion keinen Code im Text aus, sondern liest nur die darin enthaltenen statischen Daten.
Das folgende Beispiel enthält ausführbaren Code; nach der Ausführung ist b nil (der Code wird nicht ausgeführt).

b = table.load_string[[ {
a = os.execute('reboot'), -- Dieser Code wird nicht ausgeführt und gibt nil zurück
} ]]

Beispiel

local t = table.load_string[[ {
a = 1,
b = 2,
c = 3,
} ]]
sys.alert(t.b)

Hinweis: Der obige Code verwendet die Funktion sys.alert, die nicht in diesem Kapitel beschrieben wird.