lua学习

it2023-01-14  52

Lua从一开始就将自己定位成一个“嵌入式的脚本语言”,提供了如下的特性 。

可移植性:使用 clean C编写的解释器,可以在 Mac 、 Unix 、 Windows等多个平台轻松编 译通过 。良好的嵌入性: Lua提供了非常丰富的A凹,可供宿主程序与 Lua脚本之间进行通信和交 换数据 。非常小的尺寸 : Lua 5.1 版本的压缩包,仅有208阻,解压缩之后也不过是 835阻, 一张 软盘就可以装下 。 Lua解释器的源代码只有 17 000多行的C代码,编译之后的二进制库文 件仅有 143阻,这些都决定了使用 Lua 的设备并不会因为添加了它导致非常明显的空间 占用 。Lua 的效率很高,是速度最快的脚本语言之一:为了提高Lua的性能,作者们将最初使用 Lex 、 Yacc等工具自动生成的代码都变成了自己手写的词法分析器和解析器 。

lua :冒号和.点号定义方法的区别

1、冒号定义方法,默认会接受self参数;而点号定义的时候,默认不会接受self参数

例:

(1)冒号定义

function class:test()

–这里会接受self参数,比如

print(self.a,self.b)

在这里self就是class对象本身,因此不会出错

end

(2)点号定义

function class.test()

–点号定义时,默认不会接受self参数,因此在这里用self会出错,找不到全局变量self,当然如果你把self定义成了一个全局变量的话。。。那么你赢了。。

print(self.a,self.b)–报错,找不到全局变量self

end

最新回复(0)