请帮忙给一个 lua 使用load 后将source 信息抹除的解决方案谢谢
可以使用Lua的debug库来实现将source信息抹除的解决方案。
具体的实现步骤如下:
- 使用load函数来加载Lua代码,并将代码转换成一个函数。
local func, err = load(code)
- 使用debug库的getinfo函数获取函数的调用信息。
local info = debug.getinfo(func, "S")
其中,"S"表示只获取source信息。
- 将获取到的source信息设置为nil,即可抹除source信息。
info.source = nil
完整的代码示例:
local code = [[
print("Hello World!")
]]
local func, err = load(code)
if func then
local info = debug.getinfo(func, "S")
info.source = nil
func()
else
print(err)
end
``
原文地址: https://www.cveoy.top/t/topic/hoZ1 著作权归作者所有。请勿转载和采集!