摘要:
1 -- __newindex 对表进行更新 2 MyMetatable = {} 3 MyTable = setmetatable({["newKey"] = 12}, {__newindex = MyMetatable}) 4 MyTable.newKey1 = 156 5 print(MyTable.newKey1) --- nil 6 print(MyMetatable... 阅读全文
摘要:
loadfile: 1>编译代码成中间码并且返回编译后的chunk作为一个函数,而不执行代码 2>在发生错误的情况下,不会抛出异常,但会返回nil和错误信息 3>运行一个文件多次的话,只需要编译一次,但可多次运行 dofile: 1>是对loadfile的一层包装,根据loadfile的返回函数运行 阅读全文
摘要:
1、lua中的函数是带有此法界定的第一类值。 2、创建一个函数的过程,本质上就是一个创建赋值语句的过程。 常见的创建函数的过程: 本质上是这样的一个过程: 3、以其他函数作为参数的函数,在lua中被称为高级函数 阅读全文
摘要:
var关键字是C#3.0开始新增的特性,称为推断类型(其实也就是弱化类型的定义)。 var a =23; 则a是整型,var a = “lgs”;则a是字符型,但使用Var类型要注意: 1、必须在定义时初始化,即不能先定义后初始化,如:var a;a = 1;这样是不允许的 2、一旦初始化完成,不能 阅读全文
摘要:
主要掌握: 1>虚变量 一个下划线 2>lua将函数的可变参数放在一个叫 arg 的表中,除了参数以外,arg表中还有一个域n表示参数的个数。 如果一个函数是多值返回,我们不需要其全部的返回值,只需要其中的部分值,该如何做? 处理方式有一下三种: 1、定义对应数量的变量,一一接收,然后按需所取 2、 阅读全文
摘要:
unpack 返回数组中的所有元素,包括 nil,注意是数组,对于 k-v 是不返回的!!! 执行结果: 阅读全文
摘要:
循环中内嵌一个循环,然后将具体的逻辑放在内嵌循环中去处理,在内嵌循环的开始,添加一个判断语句,满足条件就跳出内嵌循环。 示例代码如下: 运算结果: 切记,内嵌循环中两个地方需要break!!! 内嵌循环中两个地方需要break!!! 内嵌循环中两个地方需要break!!! 阅读全文
摘要:
1、block(代码块) 一个控制结构、一个函数体、一个chunk chunck 变量被声明的那个文件或者文本串 2、局部变量只在声明的那个block中有效 3.可以使用 do ... end 来给block指定一个明确的界限 阅读全文