29 lines
677 B
Lua
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() |