服务器之家

服务器之家 > 正文

Lua模块和模块载入浅析

时间:2020-04-12 13:51     来源/作者:Mr.Ant

在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)

 

标签:

相关文章

热门资讯

沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部