Saltar ao contido

Módulo:No globals

En Galilibros, o Wikibooks en galego.

Indicacións de uso do módulo

Obxectivo

[editar]
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)