2016-11-18 7 views
1

Dies scheint legitim Lua Syntax zu sein:Lua Tabelle Syntax

example = { ["dummy"] = "foobar"}

Warum würden Sie die oben nutzen und nicht einfach:

example = { dummy = "foobar"}

Sie scheinen funktionell gleich .. .

+0

Es war überraschend für mich, dass ich nicht schreiben kann, zum Beispiel, t = {in = 0, out = 1, err = 2} ' –

+0

Überraschend, dass Sie * nicht * schreiben können? @egorskriptunoff es sieht für mich gültig – warspyking

+1

@warspyking 'in' ist ein Schlüsselwort, so dass es nicht als Tabellenfeldname ohne Klammern verwendet werden kann. –

Antwort

1

Da Feldnamen keine Bezeichner sein müssen, können sie eine beliebige Zeichenfolge einschließlich Zeichenfolgen mit Leerzeichen für INS sein tance.

Die zweite Anweisung ist gültige Lua-Syntax und ist sehr praktisch für Feldnamen, die Bezeichner sind.

Tabellenschlüssel müssen keine Zeichenfolgen sein: Sie können tatsächlich einen beliebigen Wert haben (außer Nil) und die [expr]=expr Syntax für Tabelleneinträge ermöglicht die Verwendung von Werten beliebiger Ausdrücke als Schlüssel.

+0

Können sie * any * Wert außer nil sein? Ich bin mir ziemlich sicher, dass es noch einen gibt. – warspyking

+1

außer Nil und Nan. –