lua有GC,细节无需太关注,知道些基本的就行,能local就一定不要global;
还有在数组里的对象,除非显式=nil,否则很难回收;
不过可以用弱引用表来告诉GC。外部引用为0,就不要管我,请del it。
weak table是通过元表实现,元表里的__mode字段包含k或者v;k表示key为弱引用;v表示value为弱引用。
1、首先看一个普通的例子:
a = {}
ke...
分类:
其他好文 时间:
2014-06-16 11:57:59
阅读次数:
306
一个大胆的尝试:使用巨型lua协程来表示整个“一局”流程。lua协程是一个很另类的功能,有并发的影子但又不是真的并发,所以真正拿它来做大功能框架的范例不多,通常用于一些小型trick式设计。但这次我在大富翁里把它用到了“极致”:整个一局游戏,就是全部跑在一个协程里的!简单的说:在开始按钮的点击响应函...
分类:
其他好文 时间:
2014-06-15 21:23:59
阅读次数:
264
Notepad++
是一个开源的文本编辑器,功能强大而且使用方便,一般情况下,Notepad++作为代码查看器,很方便,但是每次要运行的时候,总是需要用右键打开其他的IDE来编译和运行,总有些不方便。特别是像lua这种语言,在Eclipse中无法集成,因此运行的时候,总是不方便。我搜到了一个使用No...
分类:
编程语言 时间:
2014-06-12 18:23:52
阅读次数:
440
Lua是动态类型语言,变量不要类型定义
lua中有8个基本类型:nil,boolean,number,string, userdata,function,thread,table
用函数type可以测试给定变量或者值的类型
1.nil
nil类型只有一个值,那就是nil。一个全局变量没有被赋值以前默认为nil,给全局变量赋值nil可以删除该变量
...
分类:
其他好文 时间:
2014-06-11 06:38:48
阅读次数:
249
----本文摘自programming in lua
当一个函数内部嵌套另一个函数定义时,内部的函数体可以访问外部的函数的局部变量,这种特征我们称作词法定界。虽然这看起来很清楚,事实并非如此,词法定界加上第一类函数在编程语言里是一个功能强大的概念,很少语言提供这种支持。
下面看一个简单的例子,假定有一个学生姓名的列表和一个学生名和成绩对应的表,现在想根据学生的成绩从高到低对学生...
分类:
其他好文 时间:
2014-06-10 18:37:56
阅读次数:
169
最近在研究protobuf在项目中的使用,由于我们项目服务端采用的是C++,客户端是cocos2dx-cpp,客户端与服务端的消息传输是直接对象的二进制流。如果客户端一直用C++来写,问题到不大,但是后期有想法将客户端用lua来写(可以实现苹果平台的新增更新),这个时候问题就出现了(传输的消息定.....
分类:
其他好文 时间:
2014-06-10 16:36:21
阅读次数:
496
首先下载lua源码包,然后分别是make,make linux,make
install注意如果没有make
install,那么在#include时,会报找不到lua.h文件的错误。网上找到一段源码:func.lua--变量定义width=1;height=2;--lua函数定义,实现加法func...
分类:
编程语言 时间:
2014-06-10 16:19:01
阅读次数:
323
最近在看Luatinker的源代码,打算自己改(仿写)写搞一个简单的封装C++和LUA的结合的库,结果发现其实麻烦和困惑比想象的多。比如这些点:1)有时候使用模板的时候,引用会退化。classtype
&,经过模板参数后,会退化为class type,这个在LuaTinker的实现里面就有问题,你会...
分类:
编程语言 时间:
2014-06-10 10:38:26
阅读次数:
274
手机游戏目前是弱联网居多,http登录是常用功能。我们现在就来实现。
在启动时候,自动请求http.function MainScene:ctor()
local url = "http://localhost/request.php"
local request = network.createHTTPRequest(onRequestFinished, url, "P...
分类:
Web程序 时间:
2014-06-10 07:20:02
阅读次数:
446