首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Lua 编程之模块与元表

模块

模块其实类似于一个封装库,里面包含了很多公有的函数方法,通过封装成模块提供给外部调用,一定程度上有利于代码的重用和耦合性的降低。

Lua 中的模块设计起来还比较简单,有用到我们之前学习的 table。首先建立一个模块文件 mod.lua:

目前模块文件提供的功能很少,只有个 greet 函数可以调用,那么如何在其他 Lua 文件中进行调用呢。

看到上面如此简单的调用模块代码,是不是觉得好容易,其实这里也存在些问题,动过手之后会发现,我们找不到 mod 文件,也就是说这里存在一个文件引用的问题,仅仅只是 require 是不够的。

Lua 中加载模块的时候会做一些事情,简单来说就是去一些既定的路径下去找当前模块文件,找到了就加载成功,找不到就会报错。所以我们在调用模块代码的时候需要设置当前的模块代码路径给到 Lua 才行。

元表

Lua 中的 Table 只能简单的通过 key 来访问相对应的 value,但不能操作两个 Table。而 Lua 中的元表则更加丰富了 Table 的功能。

首先学习下 Lua 中不同表之间进行运算符的操作,以加法为例:

在 Lua 中像加法这种操作符还有其它的,都是可以如上进行相关逻辑定义实现想要的功能。(__两个下划线)

Lua 的元表中除了有操作符,还存在多种元方法来拓展 Table 的功能。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190801A04FY200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券