Saltar ao contido

Módulo:No globals

Esta páxina está semiprotexida
Na Galipedia, a Wikipedia en galego.
Indicacións de uso do módulo
warning Atención:Non modificar. Un bot encárgase do mantemento desta páxina. As modificacións todas débense realizar en mediawiki.org.
Axuda coa tradución desta páxina.

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
		-- perf optimization here and below: do not load Module:TNT unless there is an error
		error(require('Módulo:TNT').format('I18n/No globals', 'err-read', tostring(k)), 2)
	end
	return nil
end
function mt.__newindex(t, k, v)
	if k ~= 'arg' then
		error(require('Módulo:TNT').format('I18n/No globals', 'err-write', tostring(k)), 2)
	end
	rawset(t, k, v)
end
setmetatable(_G, mt)