盡管Lua被稱為是一種解釋型的語言,但Lua確實允許在運(yùn)行源代碼之前,將源代碼預(yù)編譯成一種中間形式(類比Python的.pyc)。區(qū)別解釋型語言的主要特征在于編譯器是否是語言運(yùn)行時庫的一部分,即是否有能力執(zhí)行動態(tài)生成的代碼(Lua可以通過dofile執(zhí)行Lua代碼)。
其實,dofile的核心功能是由loadfile完成的,可以這樣來定義dofile:
loadfile并不是執(zhí)行代碼,而只是編譯,返回一個函數(shù),由dofile執(zhí)行。
如果多次運(yùn)行一個文件,可以只調(diào)用一次loadfile,重復(fù)調(diào)用其返回的函數(shù)即可。
另外一個函數(shù),loadstring從字符串加載代碼:
新聞熱點
疑難解答
圖片精選