SOL2/C++ - Lua新手,是否可以在Lua文件之间传递Lua表?

我目前正在尝试安装Sol2,并尝试使用需要访问另一个Lua文件的Lua文件。 例如:请参见下面 总的来说,我在使用Sol2方面没有问题,但是当我尝试同时使用两个文件时,我的程序停止工作。Lua代码应该是正确的(...?我还尝试使用'test2 = a.x.test'和'require('a')'),因此我猜我需要更改一些东西因为Sol2?

a.lua
--------
local x = {
test = 1
}

b.lua
--------
local a = require 'a'
local options = {
test2 = a.test
}

C ++: sol :: state lua; lua.script_file("b.lua"); int x = lua [b] [test2];

谢谢!

点赞
用户107090
用户107090

局部变量在其文件之外无法看到。所以:

将以下行附加到 a.lua

return x

将以下行附加到 b.lua

return options

现在您需要修复 C++ 侧。可能类似于此,但我不知道 Sol:

auto result = lua.script_file("b.lua");
int x = result["test2"];
2017-06-19 20:55:45