我有以下 lua 脚本:
mydata={}
function update(val)
mydata["x"] = val
if (val == 10)
-- Call C-Api(1)
else
--Register callback with C when free or some event happens
register_callback(callme)
end
function callme()
end
基本上我想让这个脚本的两个实例在我的 C 程序/进程中运行,而不必为每个脚本创建一个新的 LUA 状态。我想从一个实例调用 val = 10 的函数 update() 并从另一个实例调用 val = 20 的函数 update() 。从第二个实例开始,它注册一个回调函数并等待被调用。
基本上,脚本文件是我想要实现的一种规则。系统上的几个事件可以触发此规则或脚本文件。我想根据触发它的事件来处理这个规则。可能有多个事件触发此脚本同时运行。所以我需要让这个脚本的多个实例运行,并根据触发它的事件类型来区分。
总而言之,我希望每个调用者都有单独的 mydata 实例
我想实现这样的目标。我读到了一些我们应该能够运行 lua 脚本的多个实例的地方,而不必通过在加载脚本之前加载新环境来创建新的 lua 实例
但我无法找到确切的细节。
一些身体可以帮助吗?