Lua学习笔记(7): 模块

模块
模块就像是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指向的是同一段内存

posted @ 2018-09-17 22:07  凌夜霜  阅读(134)  评论(0编辑  收藏  举报