主頁(yè) > 知識(shí)庫(kù) > Lua中的loadfile、dofile、require詳解

Lua中的loadfile、dofile、require詳解

熱門(mén)標(biāo)簽:如何利用高德地圖標(biāo)注家 電腦外呼系統(tǒng)輻射大嗎 武漢百應(yīng)人工智能電銷(xiāo)機(jī)器人 智能語(yǔ)音電銷(xiāo)的機(jī)器人 揚(yáng)州電銷(xiāo)外呼系統(tǒng)軟件 400手機(jī)電話免費(fèi)辦理 開(kāi)通400電話申請(qǐng)流程 上海企業(yè)外呼系統(tǒng)排名 百度地圖標(biāo)注位置網(wǎng)站

本來(lái)今天不應(yīng)該討論這幾個(gè)函數(shù)的,不過(guò),為了湊字?jǐn)?shù)..不,為了方便以后的文章,還是要談?wù)勥@幾個(gè)基礎(chǔ)函數(shù)的~

1.loadfile——只編譯,不運(yùn)行

loadfile故名思議,它只會(huì)加載文件,編譯代碼,不會(huì)運(yùn)行文件里的代碼。
比如,我們有一個(gè)hellofile.lua文件:

復(fù)制代碼 代碼如下:

print(“hello”);
function hehe()
print(“hello”);
end

這個(gè)文件里有一句代碼,和一個(gè)函數(shù)。試試用loadfile加載這個(gè)文件,如下代碼:
復(fù)制代碼 代碼如下:

    loadfile("hellofile.lua");
    print("end");

輸出結(jié)果如下:

復(fù)制代碼 代碼如下:

[LUA-print] end

如果說(shuō)loadfile會(huì)執(zhí)行文件里的代碼的話,那么,應(yīng)該會(huì)輸出hello字符串的。
結(jié)果表明,它是不會(huì)執(zhí)行代碼的。

2.dofile——執(zhí)行

很明顯,dofile就是會(huì)執(zhí)行代碼的家伙了,如下代碼:

復(fù)制代碼 代碼如下:

    dofile("E:/Android/wordspace_cocosIDERc0/CocosLuaTest/src/hellofile.lua");
    print("end");

輸出結(jié)果如下:

復(fù)制代碼 代碼如下:

[LUA-print] hello
[LUA-print] end

這里有點(diǎn)尷尬,文件路徑我用了絕對(duì)路徑,因?yàn)閐ofile在Coco Code IDE里使用相對(duì)路徑會(huì)找不到文件(即使使用了addSearchPath)

不過(guò)沒(méi)關(guān)系,不影響本文的內(nèi)容。

3.require——我只執(zhí)行一次

require和dofile有點(diǎn)像,不過(guò)又很不一樣,require在第一次加載文件的時(shí)候,會(huì)執(zhí)行里面的代碼。

但是,第二次之后,再次加載文件,則不會(huì)重復(fù)執(zhí)行了。換句話說(shuō),它會(huì)保存已經(jīng)加載過(guò)的文件,不會(huì)重復(fù)加載。
測(cè)試代碼如下:

復(fù)制代碼 代碼如下:

    for i = 1, 2, 1 do
        require("hellofile.lua");
    end
    print("end");

為了說(shuō)明這種情況,我刻意調(diào)用了兩次require,輸出結(jié)果如下:

復(fù)制代碼 代碼如下:

[LUA-print] hello
[LUA-print] end

和我們說(shuō)的一樣,調(diào)用了兩次,但是代碼只執(zhí)行了一次。
如果這里換成dofile,則會(huì)輸出兩次hello字符串。

4.結(jié)束

我發(fā)現(xiàn)這樣邊看書(shū)邊整理文章,進(jìn)度有點(diǎn)慢…真是魚(yú)和熊掌的問(wèn)題了。

標(biāo)簽:張掖 江西 嘉峪關(guān) 武漢 宜賓 延邊 新余 黑龍江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Lua中的loadfile、dofile、require詳解》,本文關(guān)鍵詞  Lua,中的,loadfile,dofile,require,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Lua中的loadfile、dofile、require詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Lua中的loadfile、dofile、require詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章