Lua常用函数说明

原创 2015年07月10日 14:32:26

1.lua_setglobal

(1)原型

  void lua_setglobal (lua_State *L, const char *name);

(2)作用

  将栈顶元素赋值给name变量。(name参数的值,是lua脚本中全部变量的名字。)

(注:调用完函数,我们调用luaL_dofile,然后我们就可以在lua脚本中打印出_G表中内容,会发现name名字的变量正在其中,所以可以在lua脚本中操作该name名变量)

(3)对栈的操作

  调用完成后,会将栈顶元素弹出


2.lua_getglobal

(1)原型

  void lua_getglobal (lua_State *L, const char *name);

(2)作用

    从lua脚本中获取一个name参数描述的变量,放到栈顶

(3)对栈的操作

  将获得的变量,放置到栈顶 


3.lua_setfield

(1)原型

  void lua_setfield (lua_State *L, int index, const char *k);

(2)作用

  在lua脚本中表达的操作是:t[k] = v.  index指明了t在栈中的位置(说明:栈中首先要有表t),k代表了t的下标,v代表了赋予的值(即:放置在栈顶的元素) 

(注:调用这个函数之前,栈中应该有:表t 和 栈顶元素v)

(3)对栈的操作

   调用完成后,会将栈顶元素v弹出。


4.lua_getfield

(1)原型

 void lua_getfield (lua_State *L, int index, const char *k);

(2)作用

  取t[k]的值放到栈顶,index指出栈中t表的位置, k为t的key值

(3)对栈的操作

  放置t[k] 的值到栈顶


5.lua_push*

(1)原型 

  lua_pushnil(lua_State *L, xxx)
  lua_pushstring(lua_State *L, xxx)
  lua_pushnumber(lua_State *L, xxx)
  lua_pushinteger(lua_State *L, xxx)

(2)作用

  放置xxx元素到栈顶

(3)对栈的操作

  放置一个元素到栈顶


6.lua_to*

(1)原型

...

(2)作用

  将index指明位置上的元素转换为对应类型返回

(3)对栈的操作

  不会改变栈的大小,内容.


7.lua_is*

(1)原型

int  lua_isstring(lua_State *L, int index)
....

(2)作用

  判断index指明位置上的元素是为对应的*类型,这里是string.  如果是则返回1,否则返回0

(3)对栈的操作

  不会改变栈的大小,内容


8.lua_pcall

(1)原型

  lua_pcall(lua_State *L, int nargs, int nresults, int errfunc);

(2)作用

  调用函数.nargs指明了参数的个数,nresults指明了返回结果的个数,errfunc指明了发生错误的处理函数

(注:调用lua_pcall之前,我们应该先:放置一个函数到栈中(可用:lua_getglobal),然后压入要传递的参数(可用:lua_push*))

(3)对栈的操作

  调用lua_pcall之后,它会首先将栈中的:函数,参数全部弹出 ; 然后:将结果一次压入栈中。


9.lua_gettop

(1)原型

  int lua_gettop (lua_State *L);

(2)作用

  获取栈中的元素个数

(3)对栈的操作

  不会修改栈的内容和大小


10.lua_settop

(1)原型

  void lua_settop (lua_State *L, int index);

(2)作用

  如果新传入的index比原来的栈顶大,那么超出的元素被填入nil. 可以传入0,那么栈将会被清空

(3)对栈的操作

  会修改栈的大小


11.lua_pop

(1)原型

  void lua_pop (lua_State *L, int n);

(2)作用

  从栈中弹出n个元素

(3)对栈的操作

  从战中弹出n个元素


12.lua_settable

(1)原型

  void lua_settable (lua_State *L, int index);

(2)作用

  t[k] = v的作用, index指明了栈中t表的位置,v是栈顶的值,k是栈顶之下的那个值

(3)对栈的操作

  调用这个函数之后,会将v和k的值从栈中弹出。


13.lua_gettable

(1)原型

  void lua_gettable (lua_State *L, int index);

(2)作用

  将t[k]的值放到栈顶, index指明栈中t表的位置, k从何而来呢?调用这个函数时,k代表了在栈顶元素。

(3)对栈的操作

  调用这个函数后,会将k从栈顶弹出,然后再把t[k]值放到栈顶


版权声明:本文为博主原创文章,未经博主允许不得转载。

luatinker 常用函数说明

uatinker 提供的 lua与 C++ 函数的相关接口函数 ,这样便可以屏蔽底层函数,大大提升了了开发效率,但是luatinker是韩国人写的 所以函数的说明是韩文的,所以我把经常用到函数的功能写...
  • dai_jing
  • dai_jing
  • 2014年07月21日 16:16
  • 1427

discuz常用函数说明

设置缓存 save_syscache('缓存名',缓存值) ; 同savecache($cachename,$data)相同 读取缓存 loadcache('myname');echo $_G['c...
  • Templar1000
  • Templar1000
  • 2014年08月27日 14:33
  • 4014

Lua源码分析 -- 虚拟机以及指令解释

Lua首先将源程序编译成为字节码,然后交由虚拟机解释执行.对于每一个函数,Lua的编译器将创建一个原型(prototype),它由一组指令及其使用到的常量组成[1].最初的Lua虚拟机是基于栈的.到1...
  • jiayichendddd
  • jiayichendddd
  • 2013年05月02日 19:01
  • 2115

LUA 一些常用函数的简单注解说明

LUA解释器的整个State如全局变量、堆栈等都存储在一个结构类型为Lua_State动态分配的对象里.指向这一对象的指针必须作为第一个参数传递给所有连接库的API.在调用所有的API函数之前,你必须...
  • yirancpp
  • yirancpp
  • 2013年08月13日 14:27
  • 919

LUA常用函数库_带目录.pdf

  • 2014年09月04日 08:17
  • 368KB
  • 下载

lua的table库中的常用函数总结

table是Lua语言中的一种重要的数据类型, table 的一些特性简单列举如下: (1).table 是一个“关联数组”,数组的索引可以是数字或者是字符串; (2).table 的默认初始索引...
  • JIEJINQUANIL
  • JIEJINQUANIL
  • 2015年11月03日 18:38
  • 3089

lua操作常用函数学习一

(1)lua 和 C++之间的交互的基本知识:       lua 和 C++ 之间的数据交互通过堆栈进行,栈中的数据通过索引值进行定位,(栈就像是一个容器一样,放进去的东西都要有标号) 其中栈顶...
  • xuzhonghai
  • xuzhonghai
  • 2013年01月10日 16:23
  • 1586

Lua常用c函数分析

虽然有lua参考手册,但是为了更加清晰,自己再总结一下 typedef struct lua_State lua_State /* 一个不透明的结构,它保存了整个 Lua 解释器的状态 ...
  • huiming120
  • huiming120
  • 2016年08月20日 16:38
  • 105

Lua中的常用函数库汇总

lua常用的api
  • qq_22990635
  • qq_22990635
  • 2017年07月02日 01:39
  • 103

Lua 常用库函数

一、数学库 1. 随机数 math.randomseed(os.time());   -- 设置随机种子    for i=1, 100 do     print(math.random(-100...
  • Core__Code
  • Core__Code
  • 2014年05月09日 18:51
  • 1036
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Lua常用函数说明
举报原因:
原因补充:

(最多只允许输入30个字)