可以使用Lua的debug库来实现将source信息抹除的解决方案。

具体的实现步骤如下:

  1. 使用load函数来加载Lua代码,并将代码转换成一个函数。
local func, err = load(code)
  1. 使用debug库的getinfo函数获取函数的调用信息。
local info = debug.getinfo(func, "S")

其中,"S"表示只获取source信息。

  1. 将获取到的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
``
请帮忙给一个 lua 使用load 后将source 信息抹除的解决方案谢谢

原文地址: https://www.cveoy.top/t/topic/hoZ1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录