Хотя 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,
чтобы получить другие параметры.