Lua-检测用户何时关闭/终止程序

我一直在研究如何检测用户何时关闭/终止程序。 例如:当用户单击关闭程序按钮或按下^C或^Z时,我是否可以(快速地)执行某些操作,比如写入文件内容。

点赞
用户3264799
用户3264799

不幸的是,Lua默认不包含此类型的功能,这意味着您需要使用另一个C模块与Lua引擎连接,以便提供此项功能。

话虽如此,此前已有类似的问题。我建议您在提问之前先在您偏好的搜索引擎上搜索一下。

Lua以极端的可移植性为基础。因此,它基本上只需要使用ANSI C中可用的功能。(我认为唯一的例外是动态链接,它是一种非ANSI特性,在所有平台上都不可用,但非常有用,因此它们在许多平台上都加入了它。)

ANSI C没有提供按键功能,因此默认的Lua库也没有。

话虽如此,LuaRocks存储库可能会让您找到具有此功能的库。例如,可能在LuaRocks页面上找到的ltermbox拥有您需要的功能。(您可能需要去除其中不需要的部分。)可能还有其他可用的库。去深入挖掘。

如果找不到,那么Lua的整个“点”就是可扩展性。它是一种可扩展的扩展语言。实际上,手动扩展满足您的需要并不难。

来源:https://stackoverflow.com/a/5690847/3264799

2014-09-08 06:12:13