我在寻找将Lua的二维表传递给C ++的时间。 Lua文档真的很烂。
我在 Lua 5.1 上有这张桌子,我想将其传递给c ++
local costs = {
[0] = {
1.0,
1.0,
1.0,
1.0,
1.41,
1.41,
1.41,
1.41,
},
[1] = {
2.0,
2.0,
2.0,
2.0,
2.41,
2.41,
2.41,
2.41,
}
}
这适用于简单的一维表,但我什至无法获得键
int len = lua_rawlen(L, 1);
for (int i = 0; i < len; i++)
{
lua_pushinteger(L, i + 1);
lua_gettable(L, -2);
printf("Key %i\n", lua_tointeger(L, -1));
lua_pop(L, 1);
}
如何正确获取此表?
答案 0 :(得分:0)
我发现了这个:Iterating a multidimensional Lua Table in C
有效。但是,如果有更好的解决方案,我真的很想学习。我更喜欢使用带有大小的for循环,但是lua_rawlen
总是返回1。