全局变量
检测全局变量
local file = io.open ("globalVarOutput.txt","w+")
io.output(file)
local mt = {
__index = function(_, key)
local info = debug.getinfo(2, "S")
if info and info.what ~= "main" and info.what ~= "C" then
print("访问不存在的全局变量:" .. key.." source = "..info.source.."\n"..DebugInfoToString(3,3))
io.write("访问不存在的全局变量:" .. key.." source = "..info.source.."\n"..DebugInfoToString(3,3).."\n")
io.flush()
end
return rawget(_G, key)
end,
__newindex = function(_, key, value)
local info = debug.getinfo(2, "S")
if info and info.what ~= "main" and info.what ~= "C" then
io.write("赋值不存在的全局变量:" .. key.."\n"..DebugInfoToString(3,3).."\n")
print("赋值不存在的全局变量:" .. key.."\n"..DebugInfoToString(3,3))
io.flush()
end
return rawset(_G, key, value)
end
}
setmetatable(_G, mt)