码迷,mamicode.com
首页 > 编程语言 > 详细

C++中Lua_State使用方法

时间:2015-11-15 13:31:19      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

通过Lua_State给Lua传递table

//定义函数(返回table)
int func_return_table(lua_State *L)
{
 lua_newtable(L);//创建一个表格,放在栈顶
 lua_pushstring(L, "mydata");//压入key
 lua_pushnumber(L,66);//压入value
 lua_settable(L,-3);//弹出key,value,并设置到table里面去

 lua_pushstring(L, "subdata");//压入key
 lua_newtable(L);//压入value,也是一个table
 lua_pushstring(L, "mydata");//压入subtable的key
 lua_pushnumber(L,53);//value
 lua_settable(L,-3);//弹出key,value,并设置到subtable

 lua_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
 }
}

C++中Lua_State使用方法

标签:

原文地址:http://www.cnblogs.com/zhenxi/p/4966352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!