很快就要开始介绍Lua里的“面向对象”了,在此之前,我们先来了解一下Lua的模块。我们把game.lua这个模块里的全局环境设置为M,于是,我们直接定义函数的时候,不需要再带M前缀。第三个方法比较繁琐,使用局部变量把需要用到的其他模块保存起来,如下代码:这种方法的缺点更明显了,所有用到的模块都要用局部变量声明一次,烦人。就这几句代码,其实我们可以忽略不写,因为,我们有module函数,它的功能就相当于写了这些代码。注意,前面的几行代码都没了,只留下了一个module函数的调用。module函数的调用已经相当于之前的那些代码了。其实我还省略不少东西,比如package.loaded,lua路径查找的规则等等。

Lua中的模块与module函数详解

Lua中的模块与module函数详解

Lua中的模块与module函数详解

Lua中的模块与module函数详解

Lua中的模块与module函数详解