2017-06-19 53 views
1

目前我正在嘗試設置Sol2,並試圖使用需要訪問另一個lua文件的lua文件。例如:見下面 我一般沒有問題,但是當我嘗試一起使用兩個文件時,我的程序停止工作。 Lua的代碼應該是正確的(...?,我也嘗試使用'test2 = a.x.test'和'require('a')'),所以我猜我需要改變一些東西,因爲Sol2?SOL2/C++ - Lua初學者,可以在Lua文件之間傳遞Lua表嗎?

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

局部變量在他們的文件外面沒有看到。所以:

追加此行a.lua

return x 

追加此行b.lua

return options 

現在你需要修復的C++的一面。可能是這樣的,但我不知道Sol:

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