本文介紹了 ZeroBrane Studio 簡易適配 Lua 5.4 的一些細節
Lua 5.4 已經到 rc4 版本了,相信不少朋友都已經有所嘗試,最簡單的測試方法應該就是手動編譯一個 lua.exe,然後直接命令行執行腳本:
lua.exe lua_script_path
當然,使用 IDE 來編寫測試腳本會更方便些,自己平時用 ZeroBrane Studio 比較多,不過最新版本的 ZeroBrane Studio 還沒有直接支持 Lua 5.4 腳本的運行和調試,自己簡單嘗試適配了一下,發現還是比較簡單的:
- 首先,我們進入 ZeroBrane Studio 的程序目錄,在 interpreters 文件夾下新建 luadeb54.lua 腳本,內容如下:
dofile 'interpreters/luabase.lua'
local interpreter = MakeLuaInterpreter(5.4, ' 5.4')
interpreter.skipcompile = true
return interpreter
- 接着,我們將我們編譯的 lua.exe 更名爲 lua54.exe, 並拷貝至 bin 文件夾下:
經過上面兩步,我們就已經可以在 ZeroBrane Studio 運行 Lua 5.4 腳本了,不過仍然不能調試,所以:
- 最後,我們再使用 Lua 5.4 編譯一下 luasocket,將生成的(兩個) dll 文件(分別置於 mime 和 socket 文件夾下)拷貝至新建文件夾 clibs54(bin 目錄下) 中
至此,我們就可以在 ZeroBrane Studio 中進行基本的(Lua 5.4)腳本運行和調試了:
簡單寫個測試腳本:
print("test begin")
local tbcmt = { __close = function() print("close to-be-closed var") end }
local function create_tbcv()
local tbcv = {}
setmetatable(tbcv, tbcmt)
return tbcv
end
do
local tbcv <close> = create_tbcv()
end
print("test end")
在 ZeroBrane Studio 中運行並得到輸出:
如果需要調試也是可以的:
說明
- 文中介紹的適配方式比較簡易,僅適用於較簡單的開發場景
- 對於關鍵字標準庫等的適配沒有處理,有興趣的朋友可以嘗試調整 api/lua/baselib.lua 文件