Módulo:No globals

Na Galipedia, a Wikipedia en galego.
Saltar ata a navegación Saltar á procura
Test Template Info-Icon - Version (2).svg Indicacións de uso do módulo

Obxectivo

Este módulo produce un erro se se tenta leer un nulo global ou se se tenta escribir, coa excepción de arg. Para usalo hai que engadir
require('Module:No globals')
no comezo do módulo que o precise. A variable arg está excluída porque é necesario para que a función require de Scribunto funcione correctamente. (Vexa o código fonte de Scribunto aqui.)
Esta documentación está transcluída desde Módulo:No globals/uso. Os editores poden probar cambios no mesmo en Módulo:No globals/probas.
Por favor, engade as categorías na subpáxina de documentación e os interwikis no Wikidata. Ver as subpáxinas deste módulo.

local mt = getmetatable(_G) or {}
function mt.__index (t, k)
	if k ~= 'arg' then
		error('Tratou de ler un nulo global ' .. tostring(k), 2)
	end
	return nil
end
function mt.__newindex(t, k, v)
	if k ~= 'arg' then
		error('Tratou de escribir un global ' .. tostring(k), 2)
	end
	rawset(t, k, v)
end
setmetatable(_G, mt)