Lua
码农_X
0.0
展开
-
Lua深拷贝
Lua深拷贝是我们学习Lua中的一道小门槛,理解它之后就很简单了。 在Lua中,使用赋值运算符"="进行拷贝的时候,分两种情况: 1、拷贝对象的类型是string、number、boolean这些基本类型的时候,会进行复制,创建一个新的对象,拷贝出来的对象和原来的对象互不影响,所以修改拷贝出来的对象的值不会影响到原来的对象的值! 2、拷贝对象的类型是table的时候,则是直接进行引用,拷贝出来的对象和原来的对象实际上是同一个对象,所以修改拷贝出来的对象中的元素的值也会使原来的对象中元素的值发生改变! L原创 2020-06-21 17:13:36 · 1665 阅读 · 0 评论 -
Lua闭包
Lua闭包 闭包:通过调用含有一个内部函数加上该外部函数持有的外部局部变量(upvalue)的外部函数(就是工厂)产生的一个实例函数 闭包组成:外部函数+外部函数创建的upvalue+内部函数(闭包函数) 下面分享一下网上最经典的闭包代码: function test() local i=0 return function()//尾调用 i+=1 return i end end c1=test(原创 2020-06-21 17:05:42 · 78 阅读 · 0 评论 -
Lua继承(使用table实现)
Lua本身是不能像C++那样直接实现继承,我们可以用万能的table表来实现。废话不多说,直接上代码: 父类 People.lua People = {} People.name = "人" People.age = 18 --默认18岁 function People:Speak(str) print(self.name .. "("..self.age.."岁):" .. str) end function People:new(obj) --只针对People写的new方法 obj = obj原创 2020-06-21 16:59:33 · 255 阅读 · 0 评论