lua
kandyer
程序员.
展开
-
LuaEclipse配置
IntroductionLuaEclipse is a collection of plugins for the Eclipse platform. It's goal is to facilitate the development of programs using Lua, either as a standalone language or as an extension lan转载 2012-08-24 17:57:58 · 1436 阅读 · 0 评论 -
cocos2dx的lua绑定
一、cocos2dx对tolua++绑定的修正A.c对lua回调函数的引用在使用cocos2dx编写游戏时,我们经常会设置一些回调函数(时钟、菜单选择等)。如果采用脚本方式编写游戏的话,这些回调函数也是需要写在脚本里的。实现这个功能,就需要lua将自己的函数传递给c++,c++保持对这个函数的引用,不要让这个lua函数被垃圾回收,并在适当的时候回调这个lua函数。转载 2013-10-05 14:33:18 · 1185 阅读 · 0 评论 -
tolua++中暴露对象给lua时,一定要把析构函数暴露给lua
题目不知道怎么取才好,但是意思很简单:如果你暴露一个复杂对象给Lua,实现类似于OO编程的话,那么也要把析构函数暴露给Lua.否则的话,lua gc的时候,回收垃圾对象,没有找到回收函数,就直接free掉了,这在C++中,是相当致命的. tolua++中的tolua_cclass函数,用来注册lua对象,?TOLUA_转载 2013-10-05 13:59:14 · 1833 阅读 · 0 评论 -
lua常用函数
lua_getallocflua_Alloc lua_getallocf (lua_State *L, void **ud);返回给定状态机的内存分配器函数。如果 ud 不是 NULL ,Lua 把调用lua_newstate 时传入的那个指针放入*ud 。lua_getfenvvoid lua_getfenv (lua_State *L, int index);转载 2013-10-04 20:17:57 · 808 阅读 · 0 评论 -
LUA教程 - 本地程序接口
这个部分描述了 Lua 的 C API ,也就是宿主程序跟 Lua 通讯用的一组 C 函数。所有的 API 函数按相关的类型以及常量都声明在头文件 lua.h 中。 虽然我们说的是“函数”,但一部分简单的 API 是以宏的形式提供的。所有的这些宏都只使用它们的参数一次(除了第一个参数,也就是 lua 状态机),因此你不需担心这些宏的展开会引起一些副作用。 在所有的 C 库中,Lua转载 2013-10-04 11:37:50 · 979 阅读 · 0 评论 -
lua与C交互中的堆栈详解
当在Lua和C之间交换数据时我们面临着两个问题:动态与静态类型系统的不匹配和自动与手动内存管理的不一致。在Lua中,我们写下a[k]=v时,k和v可以有几种不同的类型(由于metatables的存在,a也可能有不同的类型)。如果我们想在C中提供类似的操作,无论怎样,操作表的函数(settable)必定有一个固定的类型。我们将需要几十个不同的函数来完成这一个的操作(三个参数的类型的每一种组合都需转载 2013-10-04 11:38:56 · 665 阅读 · 0 评论 -
Lua函数
在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在WoWAPI没有提供所有标准的Lua函数, 很显然, 操作系统以及文件I/O库是不支持的 Lua函数这些函数都是Lua编程语言的一部分, 点击这里了解更多. •assert转载 2012-12-17 21:55:36 · 1244 阅读 · 0 评论 -
lua中的table函数
table.getntable.setntable.maxntable.concattable.inserttable.removetable.foreachtable.foreachipairsipairs一部分的table函数只对其数组部分产生影响, 而另一部分则对整个table均产生影响. 下面会分开原创 2012-12-14 09:31:30 · 716 阅读 · 0 评论 -
lua 中pairs 和 ipairs区别
pairs可以遍历表中所有的key,并且除了迭代器本身以及遍历表本身还可以返回nil; 但是ipairs则不能返回nil,只能返回数字0,如果遇到nil则退出。它只能遍历到表中出现的第一个不是整数的key原创 2012-12-15 10:24:18 · 658 阅读 · 0 评论 -
lua字符串处理函数
Lua 标准库 - 字符串处理(string manipulation)【IT168 技术文档】字符串库为Lua提供简易的字符串处理操作,所有的字串操作都是以1为基数的(C以0),也可使用负向索引,最后一个索引为-1 ; 所有的函数都存放在string表,并且已建立元表(__index=string表) 所以string.byte(s,i) s:byte(i)记住:Lu原创 2012-12-14 09:32:43 · 19160 阅读 · 1 评论 -
lua的for循环
for var=exp1,exp2,exp3 do end var从exp1变化到exp2,每次变化以exp3为步长递增var,并执行一次“执行体”。exp3是可选的,如果不指定,默认为1。原创 2012-12-14 09:28:54 · 3475 阅读 · 0 评论 -
lua 取一个数字的整数部分
function getIntPart(x)if x return math.ceil(x);endif math.ceil(x) == x then x = math.ceil(x);else x = math.ceil(x) - 1;endreturn x;end2.if x >= 0 then retur原创 2012-12-14 09:27:28 · 1650 阅读 · 0 评论 -
lua split函数
-- 参数:待分割的字符串,分割字符-- 返回:子串表.(含有空串)function lua_string_split(str, split_char) local sub_str_tab = {}; while (true) do local pos = string.find(str, split_char); if (not pos) then原创 2012-12-12 09:32:12 · 1326 阅读 · 0 评论 -
Lua正则表达式语言元素
. --- 代表任何字符%a --- 代表任何字母. 即[a-zA-Z]%c --- 代表任何的控制字符.%d ---代表任何的数字字符. 即[0-9]%l --- 代表所有的小写字母. 即[a-z]%p --- 代表所有的标点符号字符.%s --- 代表所有空格,tab 字符.%u --- 代表所有的大写字母. 即[A-Z]%w --- 代表所有的字母数字. 即[a-zA-Z0-9]%x ---转载 2012-12-11 19:49:49 · 709 阅读 · 0 评论 -
lua日期时间操作
os.time() os.date() os.date("%x", os.time()) os.clock() 附录完整的格式化参数这些时间输出的字符串表示是经过本地化的。所以如果是在巴西(葡萄牙语系),"%B" 得到的就是 "setembro"(译者按:大概是葡萄牙语九月?),"%原创 2012-10-26 14:06:30 · 629 阅读 · 0 评论 -
使用notepad运行python和lua的配置
Notepad++ 是一个开源的文本编辑器,功能强大而且使用方便,一般情况下,Notepad++作为代码查看器,很方便,但是每次要运行的时候,总是需要用右键打开其他的IDE来编译和运行,总有些不方便。特别是像lua这种语言,在Eclipse中无法集成,因此运行的时候,总是不方便。我搜到了一个使用Notepad++作为编译器的方法,现在share给大家,:),还是很方便的。。。我先说下配置,看到转载 2012-10-07 10:05:42 · 631 阅读 · 0 评论 -
tolua++实现分析
项目正在使用cocos2dx的lua绑定,绑定的方式是tolua++。对大规模使用lua代码信心不是很足,花了一些时间阅读tolua++的代码,希望对绑定实现的了解,有助于项目对lua代码的把控。从阅读结果上来看,起码在内存管理上,帮助还是很大的。1.tolua++如何将c++对象导入到lua里tolua++为每一个传入lua的对象建立一个userdata,userda转载 2013-10-05 14:35:00 · 1040 阅读 · 0 评论