这可能是一个新手问题,但我无法通过网络搜索找到答案,甚至可以帮助我入门。我有一个容器类,它本质上是一个 C 风格的数组。为简单起见,让我们将其描述为:
int *myArray = new int[mySize];
LuaBridge
我们可以假设我已经成功地将它注册为全局my_array
命名空间。我想像这样从 Lua 迭代它:
for n in each(my_array) do
... -- do something with n
end
我猜我可能需要each
在全局命名空间中注册一个函数。问题是,我不知道该函数在 C++ 中应该是什么样子。
<return-type> DoForEach (<function-signature that includes luabridge::LuaRef>)
{
// execute callback using luabridge::LuaRef, which I think I know how to do
return <return-type>; //what do I return here?
}
如果使用了代码,这可能会更容易,std::vector
但我正在尝试为现有代码库创建一个 Lua 接口,该代码库很难更改。