全局 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 模块的修改历史。让我们点击 发布 按钮

找到对应的发布历史,点击 查看详情

就能看到此次的修改内容