嗨,我希望 lua C api 像这样创建 Lua 表
table={['key1']={5,4,3,2},['key2']={1,0,1,1,0},['key3']={0,10,0,30,0,50}}
提前致谢....
我的lua2c给出了这个:
lua_newtable(L);
lua_pushliteral(L,"key1");
lua_newtable(L);
lua_pushnumber(L,5);
lua_pushnumber(L,4);
lua_pushnumber(L,3);
lua_pushnumber(L,2);
lua_rawseti(L,-5,4);
lua_rawseti(L,-4,3);
lua_rawseti(L,-3,2);
lua_rawseti(L,-2,1);
lua_pushliteral(L,"key2");
lua_newtable(L);
lua_pushnumber(L,1);
lua_pushnumber(L,0);
lua_pushnumber(L,1);
lua_pushnumber(L,1);
lua_pushnumber(L,0);
lua_rawseti(L,-6,5);
lua_rawseti(L,-5,4);
lua_rawseti(L,-4,3);
lua_rawseti(L,-3,2);
lua_rawseti(L,-2,1);
lua_pushliteral(L,"key3");
lua_newtable(L);
lua_pushnumber(L,0);
lua_pushnumber(L,10);
lua_pushnumber(L,0);
lua_pushnumber(L,30);
lua_pushnumber(L,0);
lua_pushnumber(L,50);
lua_rawseti(L,-7,6);
lua_rawseti(L,-6,5);
lua_rawseti(L,-5,4);
lua_rawseti(L,-4,3);
lua_rawseti(L,-3,2);
lua_rawseti(L,-2,1);
lua_settable(L,-7);
lua_settable(L,-5);
lua_settable(L,-3);
lua_setglobal(L,"table");
这个自动生成的代码将设置表条目推迟到最后;尽快设置它们可能更具可读性,但您需要仔细调整索引。