Zweck:Aufrufen des internen Lua-Interpreters

 

Format:LUA [Optionen] [Skript [Args]]

 

-e _stat_führt den String stat aus;
-l _mod_"erfordert" mod;
-iwechselt nach der Ausführung des Skripts in den interaktiven Modus;
-v gibt Versionsinformationen aus;
-- beendet die Behandlung von Optionen;
- führt stdin als Datei aus und beendet die Bearbeitung von Optionen.

 

Verwendung:

 

Das interne Lua ist Version 5.4.4.

 

Nachdem die Optionen behandelt wurden, führt lua das angegebene Skript aus und übergibt ihm die angegebenen Argumente als Zeichenketten. Wenn lua ohne Argumente aufgerufen wird, verhält es sich wie lua -v -i, wenn die Standardeingabe (stdin) die Konsole ist, und ansonsten wie lua -.

 

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

 

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

 

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

 

zuerst a auf 1 setzen , dann den Wert von a ausgeben  und schließlich die Datei script.lua ohne Argumente ausführen.

 

Bevor das Skript ausgeführt wird, sammelt lua alle Argumente in der Kommandozeile in einer globalen Tabelle namens arg. Der Skriptname wird im Index 0 gespeichert, das erste Argument nach dem Skriptnamen kommt in den Index 1 und so weiter. Alle Argumente vor dem Skriptnamen (d.h. der Name des Interpreters plus die Optionen) gehen an negative Indizes. Zum Beispiel wird bei dem Aufruf

 

lua -la b.lua t1 t2

 

führt der Interpreter 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 auf diese Argumente auch mit dem vararg-Ausdruck '=...=' zugreifen.

 

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

 

Wenn die globale Variable _PROMPT eine Zeichenkette enthält, wird ihr Wert als Prompt verwendet. Wenn die globale Variable _PROMPT2 eine Zeichenkette enthält, wird ihr Wert als zweiter Prompt verwendet (der bei unvollständigen Anweisungen ausgegeben wird). Daher können beide Prompts direkt in der Befehlszeile geändert werden. Zum Beispiel,

 

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

 

(das äußere Paar Anführungszeichen ist für die Shell, das innere Paar ist für Lua), oder in beliebigen Lua-Programmen durch Zuweisung an _PROMPT. Beachten Sie die Verwendung von -i, um in den interaktiven Modus zu gelangen; andernfalls würde das Programm direkt nach der Zuweisung an _PROMPT stillschweigend enden.