Как я могу передать аргументы в файл lua через lua CLI - PullRequest
3 голосов
/ 20 марта 2012

У меня есть LUA CLI, который принимает команду lua,

Примерно так (lua)> #

Теперь, чтобы выполнить файл lua, я запускаю команду

(lua)> # dofile ("a.lua")

Я хочу команду, которая выполнит файл и передаст ему аргумент.

Теперь здесь я хочупередайте аргумент в файл «a.lua», который примет этот аргумент и вызовет еще один файл lua, и этот второй файл lua будет вызываться в соответствии с аргументом, поэтому мне нужно проанализировать этот аргумент.

Пожалуйста, кто-нибудь может рассказать мне о командах разбора, которые будут использоваться в a.lua.Я имею в виду, какие функции будут использоваться для его анализа.

Пожалуйста, кто-нибудь может сказать мне, как передать аргумент в этот файл "a.lua".

1 Ответ

14 голосов
/ 20 марта 2012

Теперь, чтобы выполнить файл lua, я запускаю команду

Обычно это не тот способ, которым вы выполняете файлы Lua.Обычно, если у вас есть скрипт Lua, вы выполняете его с помощью этой команды: lua a.lua.Вы не вводите lua и затем используете интерфейс для его выполнения.

Используя правильную командную строку для выполнения скрипта, вы можете передать строковые параметры в файл: lua a.lua someParam "Param with spaces".Затем сценарий a.lua может извлечь эти параметры, используя стандартную механику Lua ...:

local params = {...}
params[1] -- first parameter, if any.
params[2] -- second parameter, if any.
#params   -- number of parameters.

Однако, если вы настаиваете на попытке выполнить это, используя свой метод вызова интерпретатора (с lua) и набирая команды в нем одну за другой, вы можете сделать это:

> GlobalVariable = assert(loadfile(`a.lua`))
> GlobalVariable(--[[Insert parameters here]])

Однако, если вы не хотите делать это в два шага, с промежуточной глобальной переменной вы можете сделать этов одном:

> assert(loadfile(`a.lua`))(--[[Insert parameters here]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...