日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android lua loadluafile 相对路径,Lua中的loadfile、dofile、require详解

發布時間:2025/3/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android lua loadluafile 相对路径,Lua中的loadfile、dofile、require详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

loadfile故名思議,它只會加載文件,編譯代碼,不會運行文件里的代碼。

好比,咱們有一個hellofile.lua文件:函數

復制代碼代碼以下:

print(“hello”);

function hehe()

print(“hello”);

end

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

復制代碼代碼以下:

loadfile("hellofile.lua");

print("end");

輸出結果以下:ui

復制代碼代碼以下:

[LUA-print] end

若是說loadfile會執行文件里的代碼的話,那么,應該會輸出hello字符串的。

結果代表,它是不會執行代碼的。lua

2.dofile——執行spa

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

復制代碼代碼以下:

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

print("end");

輸出結果以下:字符串

復制代碼代碼以下:

[LUA-print] hello

[LUA-print] end

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

不過不要緊,不影響本文的內容。io

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字符串。

require:

在lua中,require函數像dofile同樣載入文件為一個Chunk并執行。但具備兩個好處:1. 按模式加載文件 2.不會重復載入相同的文件。

require的參數是一個完整的文件名(目錄名+文件名,可能有點相似于java中的包吧),即package.path,典型的package.path值以下(其中D:\Bin為lua.exe所在目錄):

.\?.lua;D:\Bin\lua\?.lua;D:\Bin\lua\?\init.lua;D:\Bin\?.lua;D:\Bin\?\init.lua

一般對咱們有用的目錄是.\?.lua

因此,若是要執行當前目錄的test.lua文件,咱們只須要require("test")便可,可是若是咱們要執行另外一個目錄下的文件,好比"D:\lua\a.lua",咱們就須要將這個路徑加入到package.path當中,例如咱們能夠這樣寫:

package.path=package.path .. ";D:\?.lua"

這樣咱們就可使用require函數了,好比require("a").

注:require只會被加載一次。

復制代碼代碼以下:

for callCount = 0, 2 do

require("test");

end

總結

以上是生活随笔為你收集整理的android lua loadluafile 相对路径,Lua中的loadfile、dofile、require详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。