c1_lua/lua/app/bf/init.lua
2023-04-03 10:59:13 +08:00

29 lines
677 B
Lua

--禁用默认全局变量
-- export global variable
local __g = _G
BF = BF or {}
BF.exports = BF.exports or {}
setmetatable(BF.exports, {
__newindex = function(_, name, value)
rawset(__g, name, value)
end,
__index = function(_, name)
return rawget(__g, name)
end
})
-- disable create unexpected global variable
local function disableGlobal()
setmetatable(__g, {
__newindex = function(_, name, value)
print("new index, name is :", name)
error(string.format("USE \" BF.exports.%s = value \" INSTEAD OF SET GLOBAL VARIABLE", name), 0)
end
})
end
BF.disableGlobal = disableGlobal
disableGlobal()