模块:No globals

白龙讨论 | 贡献2022年7月11日 (一) 21:03的版本 (导入2个版本)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
50px 模块文档[创建]
local mt = getmetatable(_G) or {}
function mt.__index (t, k)
	if k ~= 'arg' then
		error('尝试读取空全局变量:' .. tostring(k), 2)
	end
	return nil
end
function mt.__newindex(t, k, v)
	if k ~= 'arg' then
		error('尝试写入全局变量:' .. tostring(k), 2)
	end
	rawset(t, k, v)
end
setmetatable(_G, mt)