Path of Exile Wiki

Please consider helping keep the wiki up to date. Check the to-do list of updates needed for version 3.14.0.

Game data exports will becoming later as the technical changes in addition to regular changes take some more time.


Path of Exile Wiki
(rm name exception)
(Uncommenting. This module seems to work as intended.)
(2 intermediate revisions by one other user not shown)
(No difference)

Latest revision as of 10:23, 13 July 2021

Module documentation[view] [edit] [history] [purge]

This module prevents the use of global variables within Scribunto modules, in order to avoid creating bugs that are difficult to track down. When using this module, an error will be thrown if any nil global is read or if any global is written to, with the exception of arg. The arg variable is excluded because it is necessary for Scribunto's require function to work properly.


Place require('Module:No globals') at the top of the module using it.

local mt = getmetatable(_G) or {}
function mt.__index (t, k)
	if k ~= 'arg' then
		error('Tried to read nil global ' .. tostring(k), 2)
	return nil
function mt.__newindex(t, k, v)
	if k ~= 'arg' then
		error('Tried to write global ' .. tostring(k), 2)
	rawset(t, k, v)
setmetatable(_G, mt)