Module:No globals: Difference between revisions

From Sarkarverse
Jump to navigation Jump to search
(Add)
(Tesr)
Line 1: Line 1:
require('Module:No globals')
local mt = getmetatable(_G) or {}
local mt = getmetatable(_G) or {}
function mt.__index (t, k)
function mt.__index (t, k)
if k ~= 'arg' then
if k ~= 'arg' then
error('Test ' .. tostring(k), 2)
error('Tried to read nil global ' .. tostring(k), 2)
end
end
return nil
return nil
Line 9: Line 8:
function mt.__newindex(t, k, v)
function mt.__newindex(t, k, v)
if k ~= 'arg' then
if k ~= 'arg' then
error('Test2 ' .. tostring(k), 2)
error('Tried to write global ' .. tostring(k), 2)
end
end
rawset(t, k, v)
rawset(t, k, v)
end
end
setmetatable(_G, mt)
setmetatable(_G, mt)

Revision as of 10:28, 1 October 2014

local mt = getmetatable(_G) or {} function mt.__index (t, k) if k ~= 'arg' then error('Tried to read nil global ' .. tostring(k), 2) end return nil end function mt.__newindex(t, k, v) if k ~= 'arg' then error('Tried to write global ' .. tostring(k), 2) end rawset(t, k, v) end setmetatable(_G, mt)