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

SOL2/C++ - Lua beginner, is it possible to pass Lua Tables between Lua files?

本文关键字:Lua 之间 文件 是否 C++ 初学者 SOL2      更新时间:2023-10-16

目前,我正在尝试设置 Sol2,并且我正在尝试使用需要访问另一个 Lua 文件的 Lua 文件.
总的来说,我对 Sol2 没有问题,但是当我尝试同时使用两个文件时,我的程序停止工作。Lua 代码应该是正确的(...?,我也尝试使用 test2 = a.x.testrequire('a') (,所以我猜我需要因为 Sol2 而改变一些东西?

答.lua:

local x = {
test = 1
}

乙.lua:

local a = require 'a'
local options = {
test2 = a.test
}

C++:

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

谢谢!

局部变量在其文件之外不可见。所以:

将此行附加到a.lua

return x

将此行附加到b.lua

return options

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

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