我正在使用 Lua 编写 scipts 并将它们嵌入到 C++ 中。我在这个过程中使用了 LuaBridge 。
在我的 Lua 脚本中,我有一些变量需要首先检索以便在 C++ 中使用,此外,我还有一个非常简单的函数:
run = function()
print ("state is on!")
end
但是,此函数仅在特定条件下调用。即仅在经过一系列复杂计算后从 C++ 代码中获得“真”时调用。
受限于我的 Lua 和 LuaBridge 知识,我知道的是:在我做之后
loadscript(L, "script.lua")
lua_pcall(L,0,0,0)
我可以通过使用从 Lua 脚本中读取变量和函数
LuaRef blabla = getGlobal(L, "blabla")
但是现在,我需要先读出变量并使用它们,然后在成员函数中
LuaRunner::LuaRun(){}
在单独的 C++ 类中定义
class LuaRunner
将获得条件,如果条件为“真”,将调用此 run() 函数。最好在 C++ 成员函数中调用这个 run() 函数
LuaRunner::LuaRun(){}
由于进一步处理的限制。
因此,我想知道这是否可能:
读出函数使用
LuaRef run = getGlobal(L, "run")
与开头的其他变量一起并将此 run() 函数“保存”在 C++ 代码中的某个位置(可能作为类成员函数),然后稍后可以通过指针或对象调用 run() 函数班级。这可能吗?如果可能,该怎么做?或者还有什么好主意?