void lua_getglobal (lua_State *L, const char *name);
获取lua全局变量,将lua的全局变量global name压栈。
堆栈+1

void lua_setglobal (lua_State *L, const char *name);
设置lua全局变量,弹出一个值,并将之设为global name的值。
堆栈-1

void lua_createtable (lua_State *L, int narr, int nrec);
创建空表并压栈,会根据参数预分配空间,如果你知道表将会有多大,预先分配的性能会更好。
堆栈+1

void lua_newtable (lua_State *L);
创建空表并压栈,相当于lua_createtable(L, 0, 0)
堆栈+1

void lua_gettable (lua_State *L, int index);
获取lua表中的值,将t[k]压栈,t表示index所指向的栈中的表,k表示存放在栈顶的索引。
(1)栈顶索引key出栈;(2)然后将t[k]的值压栈;(3)在lua中会触发metamethod的index事件。
堆栈大小不变

void lua_settable (lua_State *L, int index);
设置lua表中的值,进行t[k]=v操作,t表示index所指向的栈中的表,v表示栈顶的值,k表示存放在v的下面的索引key。
(1)v和k都会出栈;(2)在lua中会触发metamethod的newindex事件。
堆栈-2

void lua_getfield (lua_State *L, int index, const char *k);
t[k]入栈,t表示index所指向的栈中的表,会触发metathod.index事件。
堆栈+1

void lua_setfield (lua_State *L, int index, const char *k);
进行t[k]=v操作,t表示index所指向的栈中的表,v表示栈顶的值。
(1)栈顶v会出栈;(2)在lua中会触发metamethod.newindex事件。
堆栈-1

void lua_rawget (lua_State *L, int index);
和lua_gettable类似,但不会触发metatable。
堆栈不变

void lua_rawset (lua_State *L, int index);
和lua_settable类似,但不会触发metatable。
堆栈-2

table相关的API的更多相关文章

  1. Guava库介绍之集合(Collection)相关的API

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...

  2. HTML5中与页面显示相关的API

    1.HTML5中与页面显示相关的API 在HTML5中,增加了几个与页面显示相关的API,其中一个是Page Visibility API Page Visibility API  是指当页面变为最小 ...

  3. Docker入门教程(九)10个镜像相关的API

    Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...

  4. Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。

    Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头.麦克风等. Cordova还提供了一组统一的JavaScript类库,以及为这 ...

  5. 理解socket.io(一)---相关的API

    理解socket.io(一)---相关的API 1. 什么是Socket.IO?Socket.IO是node.js的一个模块,它用于浏览器与服务端之间实时通信.它提供了服务器和客户端的组件,只需一个模 ...

  6. 多线程(二)~Thread类相关的API介绍

      一.线程安全问题:     当我们使用多个线程操作统一方法内的局部变量的时候,每个局部变量在当前线程里都有自己的副本,这种情况是不会出现线程安全问题的.当我们两个线程同时操作全局变量的时候,有可能 ...

  7. Spring中AOP相关的API及源码解析

    Spring中AOP相关的API及源码解析 本系列文章: 读源码,我们可以从第一行读起 你知道Spring是怎么解析配置类的吗? 配置类为什么要添加@Configuration注解? 谈谈Spring ...

  8. 进程相关的API函数

    0x01. ID与句柄 如果我们成功创建一个进程之后,CreateProcess会返回四个数据,id和句柄 句柄的话就是 当前进程私有的句柄表索引(这是当前进程,给别进程也没用) 每个进程都有一张自己 ...

  9. 浏览器窗口尺寸相关的 API 整理图

    整理浏览器中和屏幕尺寸相关的 API: 其中和文档相关的属性,例如 innerWidth.innerHeight.event.x.event.y 的单位为 CSS 像素,如果页面存在缩放,则需乘上缩放 ...

随机推荐

  1. 常用基础OC 集合

    //    2016年07月19日17:50:53    集合 //七.NSSet 集合对象(容器类,) //  1. 使用类方法创建对象 NSSet *set1 = [NSSet set];  // ...

  2. Windows下提升进程权限

    windows的每个用户登录系统后,系统会产生一个访问令牌(access token) ,其中关联了当前用户的权限信息,用户登录后创建的每一个进程都含有用户access token的拷贝,当进程试图执 ...

  3. 漫谈Puppet4

    激动人心的改进 速度,速度,还是速度 稳定性和鲁棒性的提升 全新的Parser “不变"的agent 不兼容的改动 包管理方式的变化 配置文件/目录的路径变化 其他路径变化 Director ...

  4. VS2012中数据库架构的比较

    在进行项目进行开发或维护时,经常会改动使用的数据库,或增加.修改字段,或加表,改存储过程等,而且会出现多个类似的数据库同时在用(比如过个类似的项目,要使用稍有不同的数据库),这个时候就可能需要进行数据 ...

  5. javamail邮件发送例子

    public class EmailTask{        // Session used by the javamail classes    private Session session;   ...

  6. AWVS漏洞测试-02节-添加一个简单的新闻系统

    实现一个简单的新闻发布系统 有登录 注册 添加新闻 浏览新闻 评论新闻 新闻列表 这些基本功能 使用asp.net webform 首先是登录页 protected void Button1_Clic ...

  7. 手机前端页面js

    (function () { var phoneWidth = parseInt(window.screen.width); var phoneScale = phoneWidth / 640; va ...

  8. [译] Angular 2 VS. React: 血色将至

    Angular 2 VS. React: 血色将至 原文链接:https://medium.com/@housecor/angular-2-versus-react-there-will-be-blo ...

  9. WPF下载远程文件,并显示进度条和百分比

    WPF下载远程文件,并显示进度条和百分比 1.xaml <ProgressBar HorizontalAlignment="Left" Height="10&quo ...

  10. 将十六进制的颜色字符串转为UIColor

    扩展UIColor,将十六进制的颜色字符串转成UIColor对象. extension UIColor { static func colorWithHexString(hex:String) -&g ...