Windows - Lua的嵌入实例 - 仅共享环境 - 语言的最近变化。
Lua脚本的结果需要提供给嵌入式Lua 5.3解释器的Windows主机应用程序。大多数情况下,我们将结果写入文本文件或剪贴板,并在脚本完成后让主机读取它们。另一种方法是在当前环境中设置一个envar(环境变量),主机和解释器共享该变量。这将消除文件IO和一些字符串复制操作。
Lua具有os.getenv()
但没有os.setenv()
,因为后者不是ANSI-C的一部分。声称能够更改环境变量的外部模块似乎会更改_G
中的局部副本,而不是真正的主机当前环境中的变量。(由于我没有阅读所有来源,我在此根据它们的封面来判断这些书籍。)此外,自版本5.3以来,全局变量_G
已不存在,我认为这意味着这些模块中的大多数将与当前版本的Lua不兼容。
问题:哪个模块允许更改当前环境中的变量,并与Lua 5.3兼容?