Хотя Lua был разработан как язык расширений, чтобы быть вложенным в ведущую
программу на C, это часто используется как автономный язык. Интерпретатор для
Lua, как автономного языка, называется просто lua
. Эта программа
может быть вызвана с любой последовательностью следующих параметров:
stdin
как файл.
lua_close
после обработки всех параметров.
stat
.
filename
с параметрами для таблицы
arg
.
var
в строку
"value"
.
filename
.lua
ведет себя как lua -v -i
, когда stdin
представляет собой терминал, или аналогично lua -
в противном
случае.
Все параметры обработаны по порядку, за исключением -c
.
Например, обращение, подобное:
$ lua -i a=test prog.luaСначала взаимодействует с пользователем до
EOF
в stdin
, затем установит a
в "test"
и в
заключение выполнит файл prog.lua
. Здесь под $
понимается подсказка оболочки. Ваша подсказка может быть иной.
Когда используется опция -f filename, все параметры в командной
строке переданы программе Lua filename
в таблице, названной
arg
. В этой таблице поле n
получает индекс последнего
параметра, а поле 0 получает "filename"
. Например,
$ lua a.lua -f b.lua t1 t3интерпретатор сначала выполняет файл a.lua, затем создает таблицу:
arg = {"t1", "t3"; n = 2, [0] = "b.lua"}а в заключение выполняет файл b.lua. Автономный интерпретатор также обеспечивает функцию
getargs
, которая может использоваться, чтобы обратиться ко всем параметрам командной строки. Например, если Вы вызываете Lua
строкой:
$ lua -c a bто обращение к
getargs
в a
или в b
возвратит такую таблицу:
{[0] = "lua", [1] = "-c", [2] = "a", [3] = "b", n = 3}
В интерактивном режиме может быть написана многострочная инструкция. Для
этого надо заканчивать промежуточные строки наклонной чертой влево
(\
). Если глобальная переменная _PROMPT определена как строка, то ее значение
используется как подсказка. Следовательно, подсказка может быть изменена
непосредственно в командной строке. Например:
$ lua _PROMPT='myprompt> ' -iИли в программе Lua, назначая новое значение переменной
_PROMPT
.
В Unix Lua-скрипты могут быть переделаны в выполнимые программы, используя
chmod +x
и форму #!
как в
#!/usr/local/bin/lua
или #!/usr/local/bin/lua -f
,
чтобы получить другие параметры.