全域性 Lua 模組

在用 Edgelang 編寫自定義的 Edge 規則時,有時會需要呼叫自定義的 Lua 模組,此時可以透過在 全域性 Lua 模組 中增加此 Lua 模組。

1. 建立全域性 Lua 模組

下面我們看下如何建立一個全域性 Lua 模組,並在 Edgelang 中引用它。

首先點選 全域性配置

然後點選左側導航欄的全域性 Lua 模組 進入全域性 Lua 模組頁面。

在這個頁面中,會列出已經存在的全域性 Lua 模組,我們點選 新建 Lua 模組 來新建一個。

支援以下兩種方式

  1. 模組名稱 欄填寫以後要引用的模組名稱,Lua 程式碼欄的編輯框內填寫 Lua 程式碼
  2. 直接點選 選擇檔案 匯入已有的 Lua 模組,模組名稱預設為檔名

local _M = {}
function _M.say_hello()
    return "hello world!"
end

return _M

編輯完畢後點選儲存,lua 模組會自動下發到每個 node 節點,然後就可以在 Edgelang 程式碼中進行引用了

true =>
    say(foreign-call(module: "custom_lua_module", func: "say_hello"));

2. 同步選項

頁面右上方是 同步選項,含義同 全域性配置

有點區別的是,當取消選中 Automatic Synchronization 後,全域性 Lua 模組除了支援複製所有 Lua 模組到指定分割槽外,還支援單獨複製某一個 Lua 模組到指定分割槽,讓我們點選複製按鈕。

然後選擇要同步的分割槽,點選 copy,當前分割槽的配置就會覆蓋指定分割槽的配置。

3. 修改歷史

可以在釋出頁面檢視同一個分割槽下 Lua 模組的修改歷史。讓我們點選 釋出 按鈕

找到對應的釋出歷史,點選 檢視詳情

就能看到此次的修改內容