Lua
文章平均质量分 76
跬步致千里
这个作者很懒,什么都没留下…
展开
-
【Lua】面向对象实现
Lua中,面向对向是用元表这种机制来实现的。元表是个很“道家”的机制,很深遂,很强大,里面有一些基本概念比较难理解透彻。不过,只有完全理解了元表,才能对Lua的面向对象使用自如,才能在写Lua代码的高级语法时游刃有余。首先,一般来说,一个表和它的元表是不同的个体(不属于同一个表),在创建新的table时,不会自动创建元表。但是,任何表都可以有元表(这种能力是存在的)。e.g.转载 2015-08-11 15:38:11 · 338 阅读 · 0 评论 -
【Lua】C-API
1.什么是C-API Lua作为扩展性语言和可扩展的语言,对应的C和Lua中间有两种交互方式:第一种,C作为应用程序语言,Lua作为一个库使用;第二种,反过来,Lua作为程序语言,C作为库使用。这两种方式,C语言都使用相同的API与Lua通信,因此C和Lua交互这部分称为C API。C API是一个C代码与Lua进行交互的函数集。他有以下部分组成:(函数实际上指函数或者宏,API有些函转载 2015-10-12 12:31:21 · 641 阅读 · 0 评论 -
【Lua】闭包
今天用lua写回调的时候用到了闭包,定时器里面写了一个回调函数,用到了外面的局部变量tmpIdx,local tmpIdx = model.curStarIndexself.waitSecondId[tmpIdx] = self:schedule( function () waitSecond(self,tmpIdx) end, 2.0)感觉对闭包概念还是很模糊,原创 2015-09-22 18:18:58 · 399 阅读 · 0 评论 -
【C++】sublime
源地址:http://segmentfault.com/a/1190000000728768虽然cocos2d-x官方在不遗余力地推进Cocos Code IDE的发展,但基于Eclipse架构的它注定无论如何都不会像Sublime用起来那么爽,反应那么快,用Sublime写代码时敲击键盘就好像是用针在戳气球,每一下都能得到纳秒级的实时响应,你会觉得电脑是完全在你掌控之下的,那转载 2015-09-06 17:39:26 · 628 阅读 · 0 评论 -
【Lua】tolua
源地址:http://blog.csdn.net/song_hui_xiang/article/details/157124171、创建自定义类SongCpp.cppSongCpp.h[cpp] view plaincopy#ifndef __SongToLua__SongCpp__ #define __SongToLua__S转载 2015-08-15 17:09:13 · 368 阅读 · 0 评论 -
【Lua】table
w = {1,2,x=0,3,z="bbbb","m",m,4,y=0, label="console",[20]="Index20",["-"]="sub" }m = {555, 666, 777}m.f = wt={[4]=m}t[1]='sss'print(w[1]) -->1print(w[2]) -->2原创 2015-08-01 16:55:57 · 317 阅读 · 0 评论 -
【Lua】模块(module)和包(package)详解
http://www.jb51.net/article/55818.htm前言从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包。require用于使用模块,module用于创建模块。简单的说,一个模块就是一个程序库,可以通过require来加载。然后便得到了一个全局变量,表示一个table。这个table就像是一个命名转载 2015-08-13 14:40:24 · 440 阅读 · 0 评论 -
【Lua】loadfile、dofile、require详解
1.loadfile——只编译,不运行loadfile故名思议,它只会加载文件,编译代码,不会运行文件里的代码。比如,我们有一个hellofile.lua文件:复制代码 代码如下:print(“hello”);function hehe()print(“hello”);end这个文件里有一句代码,和一个函数。试试用loadfile加载这个文件,如下代转载 2015-07-31 16:32:12 · 388 阅读 · 0 评论 -
【Lua】pairs 和 ipairs
标准库提供了集中迭代器,包括迭代文件每行的(io.lines),迭代table元素的(pairs),迭代数组元素的(ipairs),迭代字符串中单词的 (string.gmatch)等等。pairs可以遍历表中所有的key,并且除了迭代器本身以及遍历表本身还可以返回nil;但是ipairs则不能返回nil,只能返回数字0,如果遇到nil则退出。它只能遍历到表中出现的转载 2015-08-01 16:17:12 · 355 阅读 · 0 评论 -
【Lua】基本函数库
基本函数库为Lua内置的函数库,不需要额外装载assert (v [, message])功能:相当于C的断言,参数:v:当表达式v为nil或false将触发错误,message:发生错误时返回的信息,默认为"assertion failed!"-----------------------------------------------------------转载 2015-08-11 11:48:58 · 463 阅读 · 0 评论 -
【Lua】weak table
弱表(weak table)是一个很有意思的东西,像C++/Java等语言是没有的。弱表的定义是:A weak table is a table whose elements are weak references,元素为弱引用的表就叫弱表。有弱引用那么也就有强引用,有引用那么也就有非引用。我们先要厘这些基本概念:变量、值、类型、对象。 (1)变量与值:Lua是一个dynamically转载 2015-08-11 17:41:57 · 436 阅读 · 0 评论 -
【Lua】coroutine
1.create创建协同程序 ,参数是函数(一般都是匿名函数),返回值是thread类型co = coroutine.create(function () print("hi")end) print(co) --> thread: 0x8071d982.status print(coroutine.status(co)) --> su转载 2015-08-07 13:01:00 · 281 阅读 · 0 评论 -
【Lua】lua内存泄漏
我们游戏开始都是用c++写的,后来写了一半的时候加入了lua,现在有4个模块用lua写的逻辑,类对象都是在模拟器里面创建好,基于tolua将对象和相关方法导入到lua中,然后用lua实现逻辑部分。功能实现之后,昨天开始看看lua逻辑部分有没有内存泄漏,网上查了很多资料,边学习边查找。luaMonitor这个工具还不错,可以看到lua使用的内存变化以及分配内存的变量和函数等,通过这个我看到我们代原创 2015-10-14 10:55:50 · 1561 阅读 · 0 评论