如何通过lua CLI将参数传递给lua文件

时间:2012-03-19 21:25:08

标签: lua command-line-interface

我有一个LUA CLI,它接受lua命令,

像这样的东西 (LUA)GT; #

现在,为了执行lua文件,我运行命令

(LUA)GT; #dofile(“a.lua”)

我想要一个执行文件的命令,并将参数传递给它。

现在我想把一个参数传递给“a.lua”文件,该文件将接受这个参数并再调用一个lua文件,并根据参数调用这个第二个lua文件,所以,我需要解析这个参数。

拜托,有人可以告诉我将在a.lua中使用的解析命令。我的意思是用于解析它的函数是什么。

拜托,有人可以告诉我如何将一个参数传递给这个文件“a.lua”。

1 个答案:

答案 0 :(得分:14)

  

现在,为了执行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]])