在 lua 中,是否可以序列化函数(没有上值)并在不使用 LOADSTRING的情况下存储它们?
问问题
855 次
1 回答
2
loadstring
您可以在完全不使用的情况下对它们进行序列化和存储string.dump
。loadstring
仅当您想将它们解除现实时才需要。
如果您以后需要它来重用实际函数(而不是出于其他简单目的,例如比较),您仍然需要访问至少字符串版本的loadstring
,因为这是唯一允许您即时评估 Lua 源代码的工具.
如果你有它,你可以尝试: 1)如果你有访问权限,修改 Lua 引擎本身以将函数定义的源代码保存在某处。2)将Lua字节码写入Lua中的Lua源码转换器。使用 Lua 的简单 VM,它并不像听起来那么困难。
如果你完全无法访问loadstring
,你可以尝试在 Lua 中编写 Lua VM。这比简单的转换器更难,但仍然很可行。
于 2012-05-29T17:44:23.053 回答