Zweck:Rufen Sie den internen Lua-Interpreter auf

 

Format:MOON [Optionen] [Skript [args]]

 

-e _stat_führt String stat aus;
-l _mod_„erfordert“ Mod;
-iwechselt nach der Ausführung des Skripts in den interaktiven Modus;
-v druckt Versionsinformationen;
-- stoppt die Handhabung von Optionen;
- Führt stdin als Datei aus und stoppt die Verarbeitung von Optionen.

 

Verwendung:

 

Das interne Lua ist Version 5.4.4.

 

Nach der Verarbeitung seiner Optionen führt Lua das angegebene Skript aus und übergibt ihm die angegebenen Argumente als String-Argumente. Beim Aufruf ohne Argumente verhält sich lua wie lua -v -i, wenn die Standardeingabe (stdin) die Konsole ist, andernfalls wie lua.

 

Bevor ein Argument ausgeführt wird, prüft der Interpreter, ob eine Umgebungsvariable LUA_INIT vorhanden ist. Wenn das Format @_filename_ ist, führt Lua die Datei aus. Andernfalls führt Lua den String selbst aus.

 

Alle Optionen werden der Reihe nach behandelt, außer -i. Zum Beispiel ein Aufruf wie

 

lua -e "a=1" -e print(a) script.lua

 

wird zunächst eingestellt a auf 1, dann drucken Sie den Wert von aus aund führen Sie schließlich die Datei script.lua ohne Argumente aus.

 

Bevor das Skript ausgeführt wird, sammelt Lua alle Argumente in der Befehlszeile in einer globalen Tabelle namens arg. Der Skriptname wird bei Index 0 gespeichert, das erste Argument nach dem Skriptnamen wird bei Index 1 gespeichert und so weiter. Alle Argumente vor dem Skriptnamen (d. h. der Interpretername plus die Optionen) werden in negative Indizes umgewandelt. Zum Beispiel im Anruf

 

lua -la b.lua t1 t2

 

Der Interpreter führt zunächst die Datei a.lua aus und erstellt dann eine Tabelle

 

arg = {

[-2] = „lua“,

[-1] = „-la“,

[0] = „b.lua“,

[1] = „t1“, [2] = „t2“ }

 

und führt schließlich die Datei b.lua aus. Das Skript wird mit arg[1], arg[2], ... als Argumenten aufgerufen; Es kann auch mit dem Vararg-Ausdruck „=...=“ auf diese Argumente zugreifen.

 

Wenn Sie im interaktiven Modus eine unvollständige Anweisung schreiben, wartet der Interpreter auf deren Abschluss, indem er eine andere Eingabeaufforderung ausgibt.

 

Wenn die globale Variable _PROMPT eine Zeichenfolge enthält, wird ihr Wert als Eingabeaufforderung verwendet. Wenn die globale Variable _PROMPT2 eine Zeichenfolge enthält, wird ihr Wert ebenfalls als sekundäre Eingabeaufforderung verwendet (wird bei unvollständigen Anweisungen ausgegeben). Daher können beide Eingabeaufforderungen direkt in der Befehlszeile geändert werden. Zum Beispiel,

 

lua -e"_PROMPT='myprompt> '" -i

 

(das äußere Anführungszeichenpaar steht für die Shell, das innere Anführungszeichenpaar steht für Lua) oder in beliebigen Lua-Programmen durch Zuweisung an _PROMPT. Beachten Sie die Verwendung von -i zum Aufrufen des interaktiven Modus. Andernfalls würde das Programm direkt nach der Zuweisung an _PROMPT stillschweigend beendet werden.