分享

用C/C++为 Lua 脚本设置全局表变量(转)

 汇英四方 2013-11-12

Lua 使用压栈的方式,通过 C++向 Lua 传输数据。因此我们想为 Lua 环境设置全局的表变量时,可以这么做:

 

  1. //把环境变量导入到 lua 的全局表 "environ"  
  2.     lua_newtable(L);//创建一个表格,放在栈顶  
  3.     lua_pushstring( L, key );  
  4.     lua_pushstring( L, value );  
  5.     lua_settable( L,-3 );//弹出key,value,并设置到table里面去  
  6.     lua_pushnumber( L, ikey );  
  7.     lua_pushstring( L, value );  
  8.     lua_settable( L,-3 );//弹出key,value,并设置到table里面去  
  9.     lua_setglobal( L, "environ" ); // 设置全局表名  
 

 

可以在lua脚本中看看我们写入的东西:

  1. table.foreach( environ,  function(i, v) print (i, v) end )  
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多