1. 栈 1.1 说明 lua与C语言操作都是通过栈来进行的。这个栈是抽象的栈,栈中每一个元素都能保存任何类型的LUA值。 要获得一个lua中的一个值时(例如一个全局变量),只要调用一个Lua的Api函数,Lua就会将指定的值压入栈中。 要将一个值传入Lua时,需要先将这个值压入栈 ...
.一些用来遍历lua表的api简介 以下是对下面几个函数的认识不对请批评指正: lua istable:是否是一个表 lua gettable L,int index :把lua栈的索引为index表的lua栈的index 所指的索引的值弹出。也就是弹出table index lua next L,index :先把 表 lua栈 index所指的表 , 的当前索引弹出,再把table 当前索引 ...
2013-05-29 20:54 4 3926 推荐指数:
1. 栈 1.1 说明 lua与C语言操作都是通过栈来进行的。这个栈是抽象的栈,栈中每一个元素都能保存任何类型的LUA值。 要获得一个lua中的一个值时(例如一个全局变量),只要调用一个Lua的Api函数,Lua就会将指定的值压入栈中。 要将一个值传入Lua时,需要先将这个值压入栈 ...
一、table的key是连续的整形值,可以用下面的方法: lua_objlen获取表的对象数,然后调用lua_gettable或lua_rawget遍历对应key的value 二、table的key是混合类型值,可以用下面的方法 注意:使用lua_next遍历表的时候,不用对key ...
关于lua中的table,主要的困惑来自于table既可以当array用又可以当record用,有时候就会混淆不清。 lua中的table貌似是用map来实现的,array是语法糖,一种特例。下面是lua中构造table的标准方法: 构造table的标准 ...
1.用 pairs 遍历 table时,是乱序的, 并且无法用 # 求出其大小 2.用pairs遍历数组,跳过了nil,可以访问到nil后面的元素 3. 用ipars遍历数组,遇到nil中断,访问不到nil之后的元素 ...
总结来说, 从 C++ 中获得 Lua 的值, 需要如下 4 步: 1) [必须] lua_getglobal 定位到栈中的变量. 2) [可选] lua_pushnumber/lua_pushstring 设置需要取得哪个字 ...
使用Lua作为配置文件真的是酷死,比什么XML,INI爽多了。用户可以有更多的控制,解析也更轻松,又安全。缺点我是没有发现啦,发现的朋友告知一声哦! C获取Lua中的一般全局变量(boolean, number, string) 下面以字符串为例。 Lua 文件 ...
1、新建Win32控制台DLL项目; 2、添加测试头文件--------------------------------------#include "lua.h"#include "lauxlib.h"#include "lualib.h ...
引言 通过前几篇,我们已经对Lua的C API有了一定的了解,如lua_push*、lua_is*、lua_to*等等。用C++调用Lua数据时,我们主要运用lua_getglobal与lua_push*配合以达到目的。现在我们来试试用Lua调用C++数据。 C++数据类型映射到Lua ...