【发布时间】:2021-11-25 17:52:23
【问题描述】:
这可能是一个新手问题,但我无法通过网络搜索找到答案,甚至可以帮助我入门。我有一个容器类,它本质上是一个 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 接口,该接口很难更改。
【问题讨论】: