lua_getfield 即 取lua虚拟栈中指定位置的表中的指定字段的值,并放入lua虚拟栈中。
lua_setfield 即 取出lua虚拟栈中的栈顶作为value,参数为key构成表字段放置到虚拟栈的指定位置的表中。
如果lua_getfield的操作中,指定位置的表中不存在这个字段,则产生一个nil类型的元素放置在lua栈顶。
LUA_GLOBALSINDEX与LUA_REGISTRYINDEX中的字段都是不会计入lua栈中的。
lua的metatable主要是作为一组操作集出现。它一般与userdata结合起来,形成一个类似对象的东西。
lua中的全局变量,例如: 宿主语言C共享一些全局的数据,可以通过lua_setglobal将C语言中的一些共享结构传递到lua环境中,可以在lua的脚本中访问。
阅读(3981) | 评论(0) | 转发(0) |