上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 38 下一页
摘要: 阅读全文
posted @ 2015-04-28 14:45 合唱团abc 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素.迭代器需要保留上一次成功调用的状态和下一次成功调用的状态,可以通过闭包提供的机制来实现这个任务(闭包中的外部局部变量可以用来保存状态)。一个典型的闭包结构包含两个函数:一个是闭包自己,另一个是工厂(创建闭包的函数).fun... 阅读全文
posted @ 2015-04-28 11:47 合唱团abc 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 调用函数的时候,如果参数列表为空,必须使用()表明是函数调用。例外:当函数只有一个参数并且这个参数是字符串或者表构造的时候,()可有可无。print "hello world"f{x=10,y=20}等价于f({x=10,y=20})Lua函数实参和形参的匹配与赋值语句类似,多余部分被忽略,缺少部分... 阅读全文
posted @ 2015-04-28 11:05 合唱团abc 阅读(335) 评论(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 阅读(184) 评论(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 阅读(297) 评论(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 阅读(249) 评论(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) 编辑
摘要: const引用的作用: 1. 避免不必要的复制。 2. 限制不能修改对象。 const 引用的是对象时只能访问该对象的const 函数 例: 阅读全文
posted @ 2015-04-21 15:05 合唱团abc 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 一、函数模板模板定义以关键字template开始,后跟一个模板参数列表,在模板定义中,模板参数列表不能为空。模板类型参数:类型参数前必须使用class或typename关键字。非类型模板参数:表示一个值而不是一个类型数组引用形参://&arr两端的括号必不可少void print(int(&arr)... 阅读全文
posted @ 2015-04-10 10:36 合唱团abc 阅读(210) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 38 下一页