Lua模块和模块载入浅析

来源:互联网 发布:伊藤开司 知乎 编辑:程序博客网 时间:2024/06/01 08:40


这篇文章主要介绍了Lua模块和模块载入浅析,Lua模块其实就是以.lua结尾的文件,模块载入可以用requeire或者dofile,需要的朋友可以参考下


..




在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)
0 0
原创粉丝点击