模块类似于一个封装好的库,Lua的模块就是由变量、函数等组成的一个table,把需要用的函数,变量放在里面,在最后将table返回既可,这样就可以降低代码的重复率。
在别的Lua文件中就可以调用定义模块里面的东西
格式如下:
--创建的文件名:module.lua
--创建一个表:
module = {
State = ONE,
State = TWO
}
--定义一个全局变量
module.const = "module常量"
--定义一个共有函数
function module.fun1()
print("this is fun1")
end
--定义第二个函数
local function module.fun2()
print("this is fun2")
return "this is fun2"
end
function module.fun3()
print("this is fun3:"..fun2)
end
return module
在另外一个文件里面调用模块,Lua里面提供了一个名叫require的函数,只需调用它就可以:
require("<模块名>")
或者
require "<模块名>"
使用方法:
require "<module>" --module模块是之前写好的module.lua文件
print(module.const)
module.fun3() --因为fun2()函数在module里面定义的是局部函数,所以外面是没有办法调用,只能通
过module里面的fun3函数去调用,有点像C++里面的类
也可以在自己的.lua中重新给模块命名:
m = require "<模块名>"
print(m.const)