随笔分类 -  lua

摘要:载入一个模块import() 与 require() 功能相同,但具有一定程度的自动化特性。假设我们有如下的目录结构:~~~app/app/classes/app/classes/MyClass.luaapp/classes/MyClassBase.luaapp/classes/data/Data1... 阅读全文
posted @ 2015-05-25 10:21 合唱团abc 阅读(986) 评论(0) 推荐(0) 编辑
摘要:ipairs 和pairs在lua中都是遍历tbale的函数但是两者有区别1.pairs遍历table中的所有的key-vale 而ipairs会根据key的数值从1开始加1递增遍历对应的table[i]值a = {[1] = "a1", [2] = "a2", [3] = "a3", [5] = ... 阅读全文
posted @ 2015-05-04 10:55 合唱团abc 阅读(253) 评论(0) 推荐(0) 编辑
摘要:--实现拷贝对象功能function clone(object) local lookup_table={} local function _copy(object) if type(object)~="table" then return objec... 阅读全文
posted @ 2015-04-29 11:11 合唱团abc 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-04-28 14:45 合唱团abc 阅读(93) 评论(0) 推荐(0) 编辑
摘要:在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素.迭代器需要保留上一次成功调用的状态和下一次成功调用的状态,可以通过闭包提供的机制来实现这个任务(闭包中的外部局部变量可以用来保存状态)。一个典型的闭包结构包含两个函数:一个是闭包自己,另一个是工厂(创建闭包的函数).fun... 阅读全文
posted @ 2015-04-28 11:47 合唱团abc 阅读(283) 评论(0) 推荐(0) 编辑
摘要:调用函数的时候,如果参数列表为空,必须使用()表明是函数调用。例外:当函数只有一个参数并且这个参数是字符串或者表构造的时候,()可有可无。print "hello world"f{x=10,y=20}等价于f({x=10,y=20})Lua函数实参和形参的匹配与赋值语句类似,多余部分被忽略,缺少部分... 阅读全文
posted @ 2015-04-28 11:05 合唱团abc 阅读(337) 评论(0) 推荐(0) 编辑
摘要:Account={balance=0}function Account.withdraw(self,v) self.balance=self.balance-venda={balance=0,withdraw=Account.withdraw}a.withdraw(a,260)--面向对象语言... 阅读全文
posted @ 2015-04-27 11:44 合唱团abc 阅读(186) 评论(0) 推荐(0) 编辑
摘要:father = { house=1}son = { car=1}setmetatable(son, father) --把son的metatable设置为fatherprint(son.house)输出的结果是nil,但如果把代码改为father = { house=1}fath... 阅读全文
posted @ 2015-04-27 11:22 合唱团abc 阅读(257) 评论(0) 推荐(0) 编辑
摘要:1.习惯上,Lua的下表从1开始,只有这样,才可以使用标准库的函数--链表list=nillist={next=list,value="v"}list={next=list,value=88}local l=listwhile l do print(l.value) l=l.nexten... 阅读全文
posted @ 2015-04-27 10:02 合唱团abc 阅读(301) 评论(0) 推荐(0) 编辑
摘要:--元表和元方法给lua里的值设定一些操作,让我们可以对这些操作自定义--创建一个新的table变量时,它是不存在元表的--在Lua中,只能设置table的元表,其他类型的值的元表,只能通过C代码来完成local mt={}mt.__add=function(t1,t2)print("i am re... 阅读全文
posted @ 2015-04-24 15:50 合唱团abc 阅读(250) 评论(0) 推荐(0) 编辑
摘要:function newCounter() local i=0 return function() i=i+1 return i endendc1=newCounter()print(c1())print(c1())以上代码输出1,2闭包=函数+引用环境... 阅读全文
posted @ 2015-04-24 15:10 合唱团abc 阅读(277) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示