local FuncEnv={}
setmetatable(FuncEnv, {__index = _G})
local func=loadfile("a.lua")
--local func=loadfile("a.lua", nil, FuncEnv)
local _ENV=FuncEnv
--setfenv(func,FuncEnv)()--等价于setfenv(func,FuncEnv);func();
func()
FuncEnv.test()
--print(FuncEnv.abc)
--for n in pairs(_G) do print(n) end
setmetatable(FuncEnv, {__index = _G})
local func=loadfile("a.lua")
--local func=loadfile("a.lua", nil, FuncEnv)
local _ENV=FuncEnv
--setfenv(func,FuncEnv)()--等价于setfenv(func,FuncEnv);func();
func()
FuncEnv.test()
--print(FuncEnv.abc)
--for n in pairs(_G) do print(n) end
6433

被折叠的 条评论
为什么被折叠?



