Finalidad:Invocar al intérprete interno de Lua.

 

Formato:LUNA [opciones] [guión [args]]

 

-e _estadística_ejecuta estadística de cadena;
-l _modificación_"requiere" mod;
-iingresa al modo interactivo después de ejecutar el script;
-v imprime información de la versión;
-- deja de manejar opciones;
- ejecuta stdin como un archivo y deja de manejar opciones.

 

Uso:

 

El Lua interno es la versión 5.4.4.

 

Después de manejar sus opciones, lua ejecuta el script dado y le pasa los argumentos dados como argumentos de cadena. Cuando se llama sin argumentos, lua se comporta como lua -v -i cuando la entrada estándar (stdin) es la consola, y como lua, en caso contrario.

 

Antes de ejecutar cualquier argumento, el intérprete busca una variable de entorno LUA_INIT. Si su formato es @_filename_, entonces lua ejecuta el archivo. De lo contrario, lua ejecuta la cadena misma.

 

Todas las opciones se manejan en orden, excepto -i. Por ejemplo, una invocación como

 

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

 

primero establecerá a a 1, luego imprima el valor de ay finalmente ejecute el archivo script.lua sin argumentos.

 

Antes de comenzar a ejecutar el script, lua recopila todos los argumentos en la línea de comando en una tabla global llamada arg. El nombre del script se almacena en el índice 0, el primer argumento después del nombre del script va al índice 1, y así sucesivamente. Cualquier argumento antes del nombre del script (es decir, el nombre del intérprete más las opciones) va a índices negativos. Por ejemplo, en la convocatoria

 

lua -la b.lua t1 t2

 

el intérprete primero ejecuta el archivo a.lua y luego crea una tabla

 

argumento = {

[-2] = "lua",

[-1] = "-la",

[0] = "b.lua",

[1] = "t1", [2] = "t2" }

 

y finalmente ejecuta el archivo b.lua. El script se llama con arg[1], arg[2], ... como argumentos; también puede acceder a estos argumentos con la expresión vararg '=...='.

 

En el modo interactivo, si escribe una declaración incompleta, el intérprete espera a que se complete emitiendo un mensaje diferente.

 

Si la variable global _PROMPT contiene una cadena, entonces su valor se utiliza como mensaje. De manera similar, si la variable global _PROMPT2 contiene una cadena, su valor se utiliza como mensaje secundario (emitido durante declaraciones incompletas). Por lo tanto, ambas indicaciones se pueden cambiar directamente en la línea de comando. Por ejemplo,

 

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

 

(el par exterior de comillas es para el shell, el par interior es para Lua), o en cualquier programa Lua asignando a _PROMPT. Tenga en cuenta el uso de -i para ingresar al modo interactivo; de lo contrario, el programa finalizaría silenciosamente justo después de la asignación a _PROMPT.