我想制作一个可以定期加载脚本的包装器,但是在加载另一个之前删除以前的脚本数据,加载的脚本应该可以访问所有全局函数,除了一些函数,比如“打印”,它还应该修改一些函数行为。目前我有这个代码:
local _print = print
local _globalFunc = globalFunc
local env = {}
function newEnviorment()
env = _G
env.globalFunc = function() end
env.print = function (msg)
_print('Wrapper says: '.. msg)
end
env.Somefunc = function() end
end
function loadScript (script)
local loaded = loadstring(script)
if loaded then
setfenv(loaded, env)
local ex = pcall(loaded)
end
end
当我想加载一个新脚本时,我调用这两个函数,这段代码有什么问题,因为它没有按预期工作。