将Lua5.1的setfenv迁移到Lua5.2的_ENV

2020/04 18 08:04

原来在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