我需要帮助解析lua文件的命令行。我正在执行一个lua文件,它包含一个命令“dofile(第二个.lua文件)”,但是我想通过第一个lua文件向第二个lua文件传递一些参数。
例如- a.lua 包含 dofile("b.lua"),现在我必须通过 a.lua 传递一些参数到 b.lua 中,该怎么做。
我需要帮助解析lua文件的命令行。我正在执行一个lua文件,它包含一个命令“dofile(第二个.lua文件)”,但是我想通过第一个lua文件向第二个lua文件传递一些参数。
例如- a.lua 包含 dofile("b.lua"),现在我必须通过 a.lua 传递一些参数到 b.lua 中,该怎么做。
尝试这个。在文件 `a.lua' 中:
assert(loadfile("b.lua"))(10,20,30)
在文件 b.lua
中:
local a,b,c=...
或者
local arg={...}
因为参数传递是作为变长参数进行的,所以使用了...
。
命令和输出:
C:\LUAWORK\Estudio-Tut>lua -e "a=2 b=3 c=4 dofile(‘argu.lua’)"
2 3 4
4 6 8
文件1,argu.lua:
print (a , b ,c)
a=2*a
b=2*b
c=2*c
dofile ( ‘otro.lua’)
文件2,otro.lua:
print (a ,b, c)
使用 -e "……." 可以在调用任何模块链时设置全局变量。
...
。这是Lua语言中用于可变参数的语法。试一下吧。 - lhf