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 odernil; bei Erfolg wird die Tabellenstruktur zurückgegeben, bei Fehlschlagnil
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 istbnil(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.