Lua
夏_虫
这个作者很懒,什么都没留下…
展开
-
Lua查找表元素过程(元表、__index方法是如何工作的)
Lua的表本质其实是个类似HashMap的东西,其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制,也是凭借这个机制,才能够实现“面向对象”的。 举例说明: [plain] view plaincopyprint? tempTable = {} print(tempTable.memberA) –这里试图打印tempTable并不存在的成员转载 2016-12-11 02:37:49 · 402 阅读 · 0 评论 -
Lua中,泛型for循环遍历table时,ipairs和pairs的区别
为了看出两者的区别,首先定义一个table: a={"Hello","World";a=1,b=2,z=3,x=10,y=20;"Good","Bye"}使用ipairs对其进行遍历: [python] view plain copy print?for i, v in ipairs(a) do print(v) end for i, v in ipairs(a) do pri转载 2016-12-11 23:12:37 · 2474 阅读 · 0 评论 -
Lua中的闭包
前言在很多语言中都有闭包的概念,而在这里,我将主要对Lua语言的闭包概念进行分析与总结。希望对大家学习Lua有帮助。什么是闭包?闭包在Lua中是一个非常重要的概念,闭包是由函数和与其相关的引用环境组合而成的实体。我们再来看一段代码:function newCounter() local i = 0 return function () -- 匿名函数 i =转载 2016-12-12 02:46:45 · 271 阅读 · 0 评论 -
Lua中的闭包2
词法定界:当一个函数内嵌套另一个函数的时候,内函数可以访问外部函数的局部变量,这种特征叫做词法定界第一类值:lua当中函数是一个值,他可以存在变量中,可以作为函数参数,可以作为返回值 闭包:通过调用含有一个内部函数加上该外部函数持有的外部局部变量(upvalue)的外部函数(就是工厂)产生的一个实例函数 闭包组成:外部函数+外部函数创建的upvalue+内部函数(闭包函数) 实例: funct转载 2016-12-12 11:29:51 · 294 阅读 · 0 评论