Lua模塊和模塊載入淺析
在lua中,我們可以直接使用requeire(“model_name”)來載入別的文件,文件的后綴名是.lua,載入的時(shí)候直接執(zhí)行那個(gè)文件了。
比如:my.lua 文件中
print(“hello world!”)
當(dāng)我require(“my”)時(shí),那么會(huì)直接輸出hello world!
特別注意:
1、用require載入相同的文件時(shí),只有第一次執(zhí)行,以后都不執(zhí)行。
2、如果你想讓每次載入都執(zhí)行文件,那么可以使用dofile(“my.lua”)
3、如果你想載入的時(shí)候不執(zhí)行文件,等需要的時(shí)候再執(zhí)行文件,那么可以使用loadfile(“my.lua”)
local my=loadfile(“my.lua”)
...
my()
當(dāng)然,還有另外一個(gè)更標(biāo)準(zhǔn)的玩法。假如我們有一個(gè)my.lua文件,內(nèi)容如下:
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
其實(shí),require干的事就是這樣:(這就是為什么模塊文件要寫成那樣了)
fp= (function()
--my.lua文件內(nèi)容--
end)
相關(guān)文章
Lua5.1中加載dll動(dòng)態(tài)鏈接庫的方法
這篇文章主要介紹了Lua5.1中加載dll動(dòng)態(tài)鏈接庫的方法,本文講解了加載專門為lua寫的擴(kuò)展dll的方法和加載不是專為lua寫的擴(kuò)展dll的方法,需要的朋友可以參考下2015-05-05Lua中函數(shù)與面向?qū)ο缶幊痰幕A(chǔ)知識(shí)整理
函數(shù)在面對(duì)對(duì)象的編程中又被叫做方法,會(huì)受到作用域的制約,Lua中具有類等面向?qū)ο蟮奶匦?接下來我們就來看一下Lua中函數(shù)與面向?qū)ο缶幊痰幕A(chǔ)知識(shí)整理2016-06-06Lua協(xié)同程序coroutine的簡(jiǎn)介及優(yōu)缺點(diǎn)
今天小編就為大家分享一篇關(guān)于Lua協(xié)同程序coroutine的簡(jiǎn)介及優(yōu)缺點(diǎn),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10Lua面向?qū)ο缶幊讨惖暮?jiǎn)單實(shí)現(xiàn)方式
這篇文章主要介紹了Lua面向?qū)ο缶幊讨惖暮?jiǎn)單實(shí)現(xiàn)方式,本文直接給出一個(gè)類的編碼實(shí)例,并詳細(xì)講解了調(diào)用方式,需要的朋友可以參考下2015-04-04