table相关的API
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的更多相关文章
- Guava库介绍之集合(Collection)相关的API
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...
- HTML5中与页面显示相关的API
1.HTML5中与页面显示相关的API 在HTML5中,增加了几个与页面显示相关的API,其中一个是Page Visibility API Page Visibility API 是指当页面变为最小 ...
- Docker入门教程(九)10个镜像相关的API
Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...
- Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头.麦克风等. Cordova还提供了一组统一的JavaScript类库,以及为这 ...
- 理解socket.io(一)---相关的API
理解socket.io(一)---相关的API 1. 什么是Socket.IO?Socket.IO是node.js的一个模块,它用于浏览器与服务端之间实时通信.它提供了服务器和客户端的组件,只需一个模 ...
- 多线程(二)~Thread类相关的API介绍
一.线程安全问题: 当我们使用多个线程操作统一方法内的局部变量的时候,每个局部变量在当前线程里都有自己的副本,这种情况是不会出现线程安全问题的.当我们两个线程同时操作全局变量的时候,有可能 ...
- Spring中AOP相关的API及源码解析
Spring中AOP相关的API及源码解析 本系列文章: 读源码,我们可以从第一行读起 你知道Spring是怎么解析配置类的吗? 配置类为什么要添加@Configuration注解? 谈谈Spring ...
- 进程相关的API函数
0x01. ID与句柄 如果我们成功创建一个进程之后,CreateProcess会返回四个数据,id和句柄 句柄的话就是 当前进程私有的句柄表索引(这是当前进程,给别进程也没用) 每个进程都有一张自己 ...
- 浏览器窗口尺寸相关的 API 整理图
整理浏览器中和屏幕尺寸相关的 API: 其中和文档相关的属性,例如 innerWidth.innerHeight.event.x.event.y 的单位为 CSS 像素,如果页面存在缩放,则需乘上缩放 ...
随机推荐
- Spring之@Configuration配置解析
1.简单的示例: @Configuration @EnableConfigurationProperties({DemoProperties.class}) public class DemoConf ...
- 谈一谈PHP的代码重构
随着 PHP 从一种简单的脚本语言转变为一种成熟的编程语言,一个典型的 PHP 应用程序的代码库的复杂性也随之增大.为了控制对这些应用程序的支持和维护,我们可以使用各种测试工具来自动化该流程.其中一种 ...
- CMSIS OS None
/* ---------------------------------------------------------------------- * Copyright (C) 2011 ARM L ...
- django开发的社区和博客
社区 线上地址:http://codetheme.sinaapp.com/ Githubhttps://github.com/BeginMan/codetheme 由于利用两周下班时间熬夜做的,难免有 ...
- Swift入门篇-基本类型(3)
一:元组 格式 变量或常量关键字 元组变量 = ( 变量,变量, …) 说明: : 元组变量还是一个变量,只不过表现方式和其他变量不一样 :()括号里面可以放入N个变量组成 例子: import Fo ...
- LeetCode:Substring with Concatenation of All Words (summarize)
题目链接 You are given a string, S, and a list of words, L, that are all of the same length. Find all st ...
- libevent 安装异常
有homebrew的可以使用 1 brew install memcached 这个命令来安装没有homebrew的可以直接手动安装1.去官网http://memcached.org/下载最新的包,然 ...
- webService调用
1.wsimport 生成客户端 2.axis2 3.通过HttpClient调用webservice 4.使用xfire
- Codeforces Round #292 (Div. 1) C. Drazil and Park 线段树
C. Drazil and Park 题目连接: http://codeforces.com/contest/516/problem/C Description Drazil is a monkey. ...
- 在matlab中配置vlfeat
[转自]http://cnyubin.com/?p=85 在VLFeat官网上是这么介绍VLFeat的:VLFeat开源库实现了很多著名的机器视觉算法,如HOG, SIFT, MSER, k-mean ...