lua解析lua指令碼

2021-10-08 20:39:45 字數 566 閱讀 6259

lua中使用loadstring可以直接以字串形式執行**,loadfile可以直接解析**為lua function.

如果乙個lua資料檔案有結尾返回例如:

return sound = ;
則可以直接使用 dofile來執行檔案,執行結果就是sound --table。

如果lua資料檔案沒有返回值,dofile不可用,則需要使用loadfile來進行解析,然後通過以下方法取得其中定義的table

function parselua(scriptfile)

local env = setmetatable({}, )

assert(pcall(setfenv(assert(loadfile(scriptfile)), env)))

setmetatable(env, nil)

return env

endfor key, value in pairs(parselua(f)) do

print(key, value) --- 表名稱, 表物件

print(dump(value))

end

Lua指令碼程式設計 Lua語言入門

lua系統由lua鏈結庫 luac編譯器 lua直譯器三部分構成。lua鏈結庫主要由lua.lib和lua.h這兩個檔案組成。lua鏈結庫主要負責對自身進行初始化及關閉操作 裝載指令碼與執行指令碼 提 供可呼叫互動介面。luac編譯器是乙個由命令列驅動的編譯器,其名稱為luac。當我們需要使用lua...

Lua教程 C 嵌入Lua指令碼

讀後感悟 先講了環境了配置,然後著重講了c 中如何呼叫lua,適合入門。如果想學習語法,可以看 lua程式設計 雖然講的是lua5.1,但是很多語法還是可以學的。當你學會了最基本的c 與lua呼叫之後,就可以馬上學一些互動 了,而不是只是看書,那麼看了之後,你會很容易忘記的,之前我就是學習lua的時...

Lua解析器Read指令碼內容

你知道c語言是怎麼read一整個檔案嗎?如果你知道了,那麼請忽略本文,如果你不知道,你可以花五分鐘來閱讀本文。在我開始閱讀lua 之前,我好像從來沒有用c語言寫過一次性read整個檔案的字元的 以往都是一句句的讀取。以至於我對這樣的 失去了敏感性。在開始閱讀lua 的時候,花了兩個小時來尋找lua解...