【Lua】将Lua5.1的setfenv迁移到Lua5.2的_ENV

时间:2022-08-29 21:40:22

原来在Lua5.1中

管理器定义

function _G.Meta(name)

  setfenv(2, setmetatable({}, Base))

end

使用中定义

Meta("name1")

function Execute()

end


现在在Lua5.2中

管理器定义

function _G.Meta(name)

  return setmetatable({}, Base)

end

使用中定义

local _ENV=Meta("name1")

function Execute()

end