Modul:No globals

z Wikipédie, slobodnej encyklopédie
Skočit na navigaci Skočit na vyhledávání


Túto dokumentáciu [upraviť] [história] [obnoviť]
Dokumentácia Dokumentácia

Obsah

"Metamodul", uľahčujúci korektnú tvorbu modulov tým, že znemožňuje prístup ku globálnym premenným, takže vynucuje korektné deklarovanie lokálnych premenných.

Zdroj

Tento článok je čiastočný alebo úplný preklad článku Module:No globals na anglickej Wikipédii.


Ak máte otázku k tomuto modulu, alebo potrebujete jeho rozšírenie a neviete ho správne naformátovať, pýtajte sa v diskusii k modulu. Pokiaľ je potrebné modul urgentne opraviť, obráťte sa na technickú podporu.

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('Modul: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('Modul:TNT').format('I18n/No globals', 'err-write', tostring(k)), 2)
	end
	rawset(t, k, v)
end
setmetatable(_G, mt)