亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Lua中的loadfile、dofile、require詳解

 更新時間:2014年09月13日 11:37:04   作者:笨木頭  
這篇文章主要介紹了Lua中的loadfile、dofile、require詳解,本文分別用實例講解它的用法和特點等內(nèi)容,需要的朋友可以參考下

本來今天不應該討論這幾個函數(shù)的,不過,為了湊字數(shù)..不,為了方便以后的文章,還是要談談這幾個基礎函數(shù)的~

1.loadfile——只編譯,不運行

loadfile故名思議,它只會加載文件,編譯代碼,不會運行文件里的代碼。
比如,我們有一個hellofile.lua文件:

復制代碼 代碼如下:

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

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

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

輸出結果如下:

復制代碼 代碼如下:

[LUA-print] end

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

2.dofile——執(zhí)行

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

復制代碼 代碼如下:

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

輸出結果如下:

復制代碼 代碼如下:

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

這里有點尷尬,文件路徑我用了絕對路徑,因為dofile在Coco Code IDE里使用相對路徑會找不到文件(即使使用了addSearchPath)

不過沒關系,不影響本文的內(nèi)容。

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

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

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

復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

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

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

4.結束

我發(fā)現(xiàn)這樣邊看書邊整理文章,進度有點慢…真是魚和熊掌的問題了。

相關文章

最新評論