0

我刚开始使用 Hammerspoon,并编写了一些初始化代码(位于https://gist.github.com/keithrbennett/103f57dfeb0c9346ee817825659fbf5a)。我小心翼翼地不泄露全局变量,但一位朋友指出我在https://github.com/Hammerspoon/hammerspoon/issues/1103上发表的评论建议这样做。它说“作为一般经验法则,所有观察者和计时器都应该被捕获在一个全局变量中......”。当该评论在 2016 年发布时,Lua 的当前版本(参见https://www.lua.org/versions.html)是 5.3。情况仍然如此。

将事件处理程序分配给全局变量是否有帮助?我的事件处理程序真的有被垃圾收集的风险吗?如果是这样,这是 Hammerspoon 运行时的功能还是错误?(对我来说感觉像是一个错误。)如果是一个功能,为什么这是合理的?

4

0 回答 0