C++向Lua传递嵌套table
lua_newtable(L); //创建外部表 for (int i = 0; i < len; i++) { lua_newtable(L);//创建表 void * item = vector->at(i); for (int n = 0; n < item->num; n++) { lua_pushstring(L, item->key[n].c_str()); //将key压栈 lua_pushstring(L, item->value[n].c_str());//将value压栈 lua_settable(L, -3); //t[k] = v 把key和value都从堆栈中弹出 } lua_pushinteger(L, i + 1); //将key压栈 lua_insert(L, -2); //把栈顶元素(即table)插入到第二位 lua_settable(L, -3); //t[k] = v 把key和value都从堆栈中弹出 }