Lua学习笔记(7): 模块
2024-09-03 11:48:02
模块
模块就像是c语言工程项目目录里的.h.c文件或外部依赖项,为某一个文件的代码提供依赖,其实就是把工作分成几个模块,方便项目的管理,提高开发效率和维护效率
在Lua中,模块其实就是一个表,实现方式也很简单,定义表里面的数据或者方法,最后返回这个表即可
测试代码:
module.lua文件
--module.lua
_module.sentence = "我不做人了jojo"
_module.wave = function()
print("吃下我最后的波纹吧")
end
local function TheWorld()
print("杂哇撸多!")
end
_module.TheWorld = TheWorld
return _module --记得返回这个表
test.lua
--test.lua
require("module") --通过require函数获得模块
print(_module.sentence)
_module.TheWorld()
解释一下,表_module
中,下划线是我为了验证require()
函数传入的参数是lua脚本的名字还是模板内的表的名字(其实是脑子被门夹了)
require函数从当前脚本文件所在目录下寻找参数中的模板,并生成一个全局的_module
变量,显然这个变量名是和模板内的表的名字是一样的,并且test.lua
脚本能够顺利运行,证明是能够通过使用_module
中的TheWorld()
函数间接调用模块中的本地函数的。
当然,也可以把模板赋值给一个变量
m = require("module")
print(m.sentence)
m.TheWorld()
m和_module指向的是同一段内存
最新文章
- GZFramework代码生成器插件使用教程
- smdkv210
- EF—主键冲突解决办法
- 转:TimeSpan的用法
- rsyncd.conf 文件
- Python print语句
- 把给定的字符串解析为Date对象
- 操作PDF文档功能的相关开源项目探索——iTextSharp 和PDFBox
- 也来“玩”Metro UI之磁贴
- angularjs uigrid 中celltemplate的写浮动框
- memcache 启动 储存原理 集群
- day 23 面向对象二
- 2019Java查漏补缺(三)
- 系统重启后,mr程序不生成当前时间段的MRx文件问题
- React之ref
- Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用
- 四、K3 Cloud 开发插件《K3 Cloud事件、方法、函数》
- mybatis总结之一
- RN 使用第三方组件之react-native-image-picker(拍照/从相册获取图片)
- GDPR给安全的影响