我想要一个函数在Lua脚本调用时返回一个(key-value-)表。因此,我必须把桌子推到堆栈
我知道如何将整数推送到堆栈: state-> PushInteger(10)
我也知道它对于字符串和其他数字是如何工作的,但是我如何将表推送到堆栈中,以及我如何从C ++端创建它?
这个网站通常很好地解释了一切:http://wwhiz.com/LuaPlus/LuaPlus.html 但我很难理解LuaPlus的工作原理。所以在这种情况下它并没有真正帮助我。 :(
如果有人可以帮助我在这里真的很好,我真的试图这样做3天了..:/
答案 0 :(得分:2)
该页面的Pushing a LuaObject onto the Lua Stack
部分似乎是我想的答案。
The cases where you would need to push a LuaObject onto the Lua stack are rare. Nonetheless, the facility is provided through LuaObject's PushStack() function.
LuaObject tableObj(state);
tableObj.AssignNewTable();
tableObj.SetString("Key", "My String");
// It's often good practice to use a LuaAutoBlock here.
tableObj.PushStack(); // Be sure to clean it up when you're done!