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

时间:2017-06-19 20:48:51

标签: c++ 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];

谢谢!

1 个答案:

答案 0 :(得分:0)

在文件外部看不到局部变量。所以:

将此行附加到a.lua

return x

将此行附加到b.lua

return options

现在你需要修复C ++方面。可能是这样的,但我不知道Sol:

auto result = lua.script_file("b.lua");
int x = result["test2"];