当从另一个Lua文件加载它时,我如何向Lua文件传递参数?

我需要在解析 Lua 文件的命令行方面寻求帮助。我正在执行一个 Lua 文件,而该 Lua 文件具有一个命令“dofile(第二个.lua 文件)”,但是,我想通过这个第一个 Lua 文件向这个第二个 Lua 文件传递一些参数。

例如- a.lua 有 dofile("b.lua"),现在我必须通过这个 a.lua 向 b.lua 传递一些参数,我该怎么做。

原文链接 https://stackoverflow.com/questions/9744693

点赞
stackoverflow用户107090
stackoverflow用户107090

尝试以下操作。在文件 `a.lua` 中:

assert(loadfile("b.lua"))(10,20,30)

在文件 b.lua 中:

local a,b,c=...

或者

local arg={...}

b.lua 的参数被视为变参,因此使用了 ...

2012-03-16 21:29:40
stackoverflow用户3930978
stackoverflow用户3930978

一个简单的方法:

命令和输出:

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“……”在对任何模块链的调用中设置全局变量。

2019-11-28 00:15:57