Module:No globals/doc: Difference between revisions

From The Goon Show Depository
en>ExE Boss
 
m (1 revision imported)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<noinclude><!--
{{used in system}}
-->{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}<!--
{{module rating|protected}}
--><languages /><!--
<!-- Template categories go at the bottom of this page. -->
--></noinclude>{{#switch:<translate></translate>
 
| =
This module causes an error if any nil [[global variable|global]] is read or if any global is written to, with the exception of <var>arg</var>. To use, add <syntaxhighlight lang="lua" inline>require('Module:No globals')</syntaxhighlight> to the top of the module using it. The <var>arg</var> variable is excluded because it is necessary for Scribunto's [[mw:Extension:Scribunto/Lua reference manual#require|require]] function to work properly. (See the Scribunto source code [[phab:diffusion/ELUA/browse/master/includes/engines/LuaCommon/lualib/package.lua;1fad4da13706f4dbdd0477a834675b9d09757bf6|here]].)
<includeonly>{{Languages|Module:No globals/doc}}</includeonly>
 
{{Shared Template Warning|Module:No globals|No globals}}
== See also ==
{{Module rating|release}}
* [[Module:Log globals]] – adds all nil global reads/writes to the Lua log
{{Module rating|protected}}
* [[mw:Extension:Scribunto/Lua_reference_manual#Strict_library|Scribunto's Strict library]] – A library like No globals built into the Scribunto extension
<translate>
== Usage == <!--T:1-->
</translate>
<translate><!--T:2--> Include this module at the top of your code.</translate>
<translate><!--T:3--> An error will be raised any time your code tries to read or write to a non-local (undeclared) variable.</translate>


<translate>
== Tests == <!--T:4-->
</translate>
{{ModuleQuality}}
<includeonly>{{Sandbox other||
<includeonly>{{Sandbox other||
<!-- Categories below this line, please; interwikis at Wikidata -->
<!-- Template categories go here. -->
[[Category:Modules{{#translation:}}]]
[[Category:Lua metamodules]]
}}</includeonly><noinclude>
}}</includeonly>
[[Category:Module documentation pages{{#translation:}}]]
</noinclude>
| #default=
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:No globals/doc|noshift=1|uselang={{int:lang}}}}
}}

Latest revision as of 10:23, 22 October 2022


This module causes an error if any nil global is read or if any global is written to, with the exception of arg. To use, add require('Module:No globals') to the top of the module using it. The arg variable is excluded because it is necessary for Scribunto's require function to work properly. (See the Scribunto source code here.)

See also