Esta páxina está semiprotexida

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
warning Aviso:Não editar. Essa página é mantida por um bot. Todas as edições devem ser feitas em mediawiki.org.   (traduza esse aviso)
Por favor ajude a traduzir esta página.

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)