Module:No globals : Différence entre versions

De WikiField
Sauter à la navigation Sauter à la recherche
fr>Zebulon84
m (A changé le niveau de protection pour « Module:No globals » ([Modifier=Autoriser uniquement les utilisateurs autopatrolled] (infini) [Renommer=Autoriser uniquement les administrateurs] (infini)))
 
m (Changed protection level for "Module:No globals": Used in interface MediaWiki:Protectedpagetext ([Edit=Require administrator access] (indefinite) [Move=Require administrator access] (indefinite)))
Ligne 2 : Ligne 2 :
 
function mt.__index (t, k)
 
function mt.__index (t, k)
 
if k ~= 'arg' then
 
if k ~= 'arg' then
error( "utilisation d'une variable globale, " .. tostring(k), 2 )
+
error('Tried to read nil global ' .. tostring(k), 2)
 
end
 
end
 
return nil
 
return nil
Ligne 8 : Ligne 8 :
 
function mt.__newindex(t, k, v)
 
function mt.__newindex(t, k, v)
 
if k ~= 'arg' then
 
if k ~= 'arg' then
error( "utilisation d'une variable globale, " .. 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)

Version du 13 mars 2019 à 04:29

La documentation pour ce module peut être créée à Module:No globals/doc

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)