lua - 在 Lua 5.2 环境中执行 Lua 5.1 代码

标签 lua lua-5.2 lua-5.1

我在纯Lua 5.2环境下,需要执行Lua 5.1代码。这段代码是用户的任意代码,所以我不能提前移植到Lua 5.2。据我所知,这需要重新实现 getfenv/setfenv、更改 _VERSION 字符串、隐藏全局 _ENV 并重新实现已删除的已弃用功能。我错过了什么,还是有更好的方法来做这件事? (我只能用纯 Lua 编写代码,而且我需要能够执行 5.1 代码,因为这意味着向后兼容。)

最佳答案

这可能很难做到完全笼统,但有一些部分解决方案可能适合您。

有关兼容层,请参阅 lua-compat-env .

有关进一步讨论和其他解决方案,请参阅 Lua Version Compatibility .

关于lua - 在 Lua 5.2 环境中执行 Lua 5.1 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25389944/

相关文章:

Lua string.gsub 里面的 string.gmatch?

iphone - 备份/恢复 Gmail?

lua - 为什么 debug.getinfo(1) 的 'name' 为零

regex - 在 lua 5.1 中使用 string.gmatch 拆分字符串时包含空匹配

lua - 如何为 Lua 表添加前缀?

lua - lua中查找字符串中的两个数字

types - Lua 如何从 1.0 中分辨 1

c++ - 循环遍历 C++ 中的所有 Lua 全局变量

lua - 隐藏一个可继承的Lua并且只暴露对象的属性

c++ - Luabind undefined symbol /Luabind::scope::scope