Modul:No globals

![]() | Dieses Modul wird auf 12.000+ Seiten benutzt, und Änderungen werden projektweit sofort wahrgenommen. Bitte teste Änderungen vorher im /Sandkasten oder in deinem Benutzernamensraum. Die getestete Änderung sollte dann in einem einzigen Edit auf dieser Seite eingefügt werden. Bitte diskutiere Änderungen zuerst auf der Diskussionsseite bevor du sie implementierst. |
![]() | Dieses Modul ist geschützt. Es wird sehr häufig verwendet oder substituiert. Änderungen können zu einer großen Serverlast führen, und Vandalismus kann sich auf eine Vielzahl von Artikel auswirken. |
![]() | Dieses Modul wurde am 24. Juli 2017 von Module:No globals der englischen Wikipedia importiert. Statt Änderungen hier auf Wikivoyage vorzunehmen, sollte eine neuer Import vorgezogen werden, falls im originalen Wiki neue Funktionen hinzugekommen sind. Stimme dich dazu bitte mit der Community in der Vorlagenwerkstatt ab. |
Dieses Modul dient Programmieren zum Debuggen von in der Programmiersprache Lua geschriebenen Modulen.
Dieses Modul löst einen Fehler aus und bricht das Lua-Script ab, wenn eine globale Lua-Variable mit dem Wert nil
eingelesen oder eine globale Variable überschrieben wird. Eine Ausnahme stellen die Variablen arg
und _
dar. Um dieses Modul zu nutzen, trägt man an den Anfang des Skripts require('Module:No globals')
ein. Die Variable arg
ist ausgeschlossen, weil sie für die korrekte Arbeitsweise der Scribunto-Funktion require notwendig ist (siehe auch den Scribunto-Quellcode).
Hinweise
- Die obige Dokumentation wurde aus der Seite Modul:No globals/Doku eingefügt. (bearbeiten | Versionsgeschichte) Die Kategorien für dieses Modul sollten in der Dokumentation eingetragen werden. Die Interwiki-Links sollten auf Wikidata eingepflegt werden.
- Liste der Unterseiten
local mt = getmetatable(_G) or {}
function mt.__index (t, k)
if k ~= 'arg' and k ~= '_' then
error('Tried to read nil global ' .. tostring(k), 2)
end
return nil
end
function mt.__newindex(t, k, v)
if k ~= 'arg' and k ~= '_' then
error('Tried to write global ' .. tostring(k), 2)
end
rawset(t, k, v)
end
setmetatable(_G, mt)