LuaPlus:如何将表推送到堆栈?

时间:2013-11-06 00:07:53

标签: c++ lua push lua-table luaplus

我想要一个函数在Lua脚本调用时返回一个(key-value-)表。因此,我必须把桌子推到堆栈 我知道如何将整数推送到堆栈: state-> PushInteger(10)
我也知道它对于字符串和其他数字是如何工作的,但是我如何将表推送到堆栈中,以及我如何从C ++端创建它?

这个网站通常很好地解释了一切:http://wwhiz.com/LuaPlus/LuaPlus.html 但我很难理解LuaPlus的工作原理。所以在这种情况下它并没有真正帮助我。 :(

如果有人可以帮助我在这里真的很好,我真的试图这样做3天了..:/

1 个答案:

答案 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!