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