模块
模块其实类似于一个封装库,里面包含了很多公有的函数方法,通过封装成模块提供给外部调用,一定程度上有利于代码的重用和耦合性的降低。
Lua 中的模块设计起来还比较简单,有用到我们之前学习的 table。首先建立一个模块文件 mod.lua:
目前模块文件提供的功能很少,只有个 greet 函数可以调用,那么如何在其他 Lua 文件中进行调用呢。
看到上面如此简单的调用模块代码,是不是觉得好容易,其实这里也存在些问题,动过手之后会发现,我们找不到 mod 文件,也就是说这里存在一个文件引用的问题,仅仅只是 require 是不够的。
Lua 中加载模块的时候会做一些事情,简单来说就是去一些既定的路径下去找当前模块文件,找到了就加载成功,找不到就会报错。所以我们在调用模块代码的时候需要设置当前的模块代码路径给到 Lua 才行。
元表
Lua 中的 Table 只能简单的通过 key 来访问相对应的 value,但不能操作两个 Table。而 Lua 中的元表则更加丰富了 Table 的功能。
首先学习下 Lua 中不同表之间进行运算符的操作,以加法为例:
在 Lua 中像加法这种操作符还有其它的,都是可以如上进行相关逻辑定义实现想要的功能。(__两个下划线)
Lua 的元表中除了有操作符,还存在多种元方法来拓展 Table 的功能。
领取专属 10元无门槛券
私享最新 技术干货