c++返回table给lua

来源:互联网 发布:淘宝助理5导入csv 编辑:程序博客网 时间:2024/04/30 01:53
//定义函数(返回table)int func_return_table(lua_State *L){lua_newtable(L);//创建一个表格,放在栈顶lua_pushstring(L, "mydata");//压入keylua_pushnumber(L,66);//压入valuelua_settable(L,-3);//弹出key,value,并设置到table里面去lua_pushstring(L, "subdata");//压入keylua_newtable(L);//压入value,也是一个tablelua_pushstring(L, "mydata");//压入subtable的keylua_pushnumber(L,53);//valuelua_settable(L,-3);//弹出key,value,并设置到subtablelua_settable(L,-3);//这时候父table的位置还是-3,弹出key,value(subtable),并设置到table里去lua_pushstring(L, "mydata2");//同上lua_pushnumber(L,77);lua_settable(L,-3);return 1;//堆栈里现在就一个table.其他都被弹掉了。}返回的表结构是:{"mydata" = 66,"mydate2" = 77,"subdata" = {"mydata" = 53}}

原创粉丝点击