校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Lua中的loadfile、dofile、require詳解

Lua中的loadfile、dofile、require詳解

熱門標簽:如何利用高德地圖標注家 電腦外呼系統輻射大嗎 武漢百應人工智能電銷機器人 智能語音電銷的機器人 揚州電銷外呼系統軟件 400手機電話免費辦理 開通400電話申請流程 上海企業外呼系統排名 百度地圖標注位置網站

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

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

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

復制代碼 代碼如下:

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

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

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

輸出結果如下:

復制代碼 代碼如下:

[LUA-print] end

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

2.dofile——執行

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

復制代碼 代碼如下:

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

輸出結果如下:

復制代碼 代碼如下:

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

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

不過沒關系,不影響本文的內容。

3.require——我只執行一次

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

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

復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

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

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

4.結束

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

標簽:張掖 江西 嘉峪關 武漢 宜賓 延邊 新余 黑龍江

巨人網絡通訊聲明:本文標題《Lua中的loadfile、dofile、require詳解》,本文關鍵詞  Lua,中的,loadfile,dofile,require,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua中的loadfile、dofile、require詳解》相關的同類信息!
  • 本頁收集關于Lua中的loadfile、dofile、require詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 横峰县| 镇平县| 明溪县| 汉沽区| 安陆市| 崇阳县| 平定县| 达日县| 景泰县| 丰台区| 女性| 鄂温| 闵行区| 阜城县| 邳州市| 台中市| 齐齐哈尔市| 莱阳市| 黑河市| 丰宁| 嘉荫县| 会理县| 温州市| 洛阳市| 堆龙德庆县| 临澧县| 大新县| 商洛市| 文化| 镇坪县| 浪卡子县| 德化县| 乌鲁木齐县| 巴彦淖尔市| 广州市| 吴旗县| 安远县| 深圳市| 屏山县| 友谊县| 鄂伦春自治旗|