Lua模块和模块载入浅析
程序员文章站
2022-03-07 10:17:48
在lua中,我们可以直接使用requeire(“model_name”)来载入别的文件,文件的后缀名是.lua,载入的时候直接执行那个文件了。
比如:my.lua 文件中...
在lua中,我们可以直接使用requeire(“model_name”)来载入别的文件,文件的后缀名是.lua,载入的时候直接执行那个文件了。
比如:my.lua 文件中
复制代码 代码如下:
print(“hello world!”)
当我require(“my”)时,那么会直接输出hello world!
特别注意:
1、用require载入相同的文件时,只有第一次执行,以后都不执行。
2、如果你想让每次载入都执行文件,那么可以使用dofile(“my.lua”)
3、如果你想载入的时候不执行文件,等需要的时候再执行文件,那么可以使用loadfile(“my.lua”)
复制代码 代码如下:
local my=loadfile(“my.lua”)
...
my()
当然,还有另外一个更标准的玩法。假如我们有一个my.lua文件,内容如下:
my.lua文件:
复制代码 代码如下:
local foo={}
local function getname()
return " i love li qing"
end
function foo.greeting()
print("hello,my name is denglaixian,"..getname())
end
return foo
于是我们可以这样使用:
复制代码 代码如下:
fp=require(“my”)
fp.greeting()
输出--hello,my name is denglaixian,i love li qing
其实,require干的事就是这样:(这就是为什么模块文件要写成那样了)
复制代码 代码如下:
fp= (function()
--my.lua文件内容--
end)
推荐阅读