Lua中的模块

模块类似于一个封装好的库,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)

猜你喜欢

转载自blog.csdn.net/dy_1024/article/details/81191204