<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>http://4strona.duckdns.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Modu%C5%82%3AArguments%2Fdoc%2Fnl</id>
	<title>Moduł:Arguments/doc/nl - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="http://4strona.duckdns.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Modu%C5%82%3AArguments%2Fdoc%2Fnl"/>
	<link rel="alternate" type="text/html" href="http://4strona.duckdns.org/wiki/index.php?title=Modu%C5%82:Arguments/doc/nl&amp;action=history"/>
	<updated>2026-07-30T14:05:00Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>http://4strona.duckdns.org/wiki/index.php?title=Modu%C5%82:Arguments/doc/nl&amp;diff=33&amp;oldid=prev</id>
		<title>Fuhrer: 1 wersja</title>
		<link rel="alternate" type="text/html" href="http://4strona.duckdns.org/wiki/index.php?title=Modu%C5%82:Arguments/doc/nl&amp;diff=33&amp;oldid=prev"/>
		<updated>2026-07-24T10:03:50Z</updated>

		<summary type="html">&lt;p&gt;1 wersja&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Wersja z 10:03, 24 lip 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;pl&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Brak różnic)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key 3strona_wiki:diff:1.41:old-32:rev-33 --&gt;
&lt;/table&gt;</summary>
		<author><name>Fuhrer</name></author>
	</entry>
	<entry>
		<id>http://4strona.duckdns.org/wiki/index.php?title=Modu%C5%82:Arguments/doc/nl&amp;diff=32&amp;oldid=prev</id>
		<title>mediawiki&gt;HanV o 13:21, 13 lis 2025</title>
		<link rel="alternate" type="text/html" href="http://4strona.duckdns.org/wiki/index.php?title=Modu%C5%82:Arguments/doc/nl&amp;diff=32&amp;oldid=prev"/>
		<updated>2025-11-13T13:21:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Arguments/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{Module rating|release}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
&lt;br /&gt;
Deze module biedt eenvoudige verwerking aan van argumenten die door {{Magic word|#invoke|...|ext=Scribunto|code=1|nowrap=1}} zijn doorgegeven.&lt;br /&gt;
Het is een meta-module, bedoeld voor gebruik door andere modules, en mag niet direct vanaf {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}} worden aangeroepen.&lt;br /&gt;
De functies bevatten:&lt;br /&gt;
&lt;br /&gt;
* Eenvoudig trimmen van argumenten en verwijderen van lege argumenten.&lt;br /&gt;
* Argumenten kunnen tegelijkertijd door zowel het huidige frame als het bovenliggende frame worden doorgegeven. (Meer details hieronder.)&lt;br /&gt;
* Argumenten kunnen rechtstreeks vanuit een andere Lua-module of vanuit de debug-console worden doorgegeven.&lt;br /&gt;
* Argumenten worden indien nodig opgehaald, wat kan helpen om (sommige) problemen met de {{xtag|ref}} tags te voorkomen.&lt;br /&gt;
* De meeste functies kunnen worden aangepast.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Basic_use&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Basisgebruik ==&lt;br /&gt;
Eerst moet u de module laden.&lt;br /&gt;
Het bevat één functie, &amp;lt;code&amp;gt;getArgs&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In het meest eenvoudige scenario kunt u &amp;lt;code&amp;gt;getArgs&amp;lt;/code&amp;gt; gebruiken binnen uw hoofdfunctie.&lt;br /&gt;
De variabele &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt; is een tabel met de argumenten van {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}}.&lt;br /&gt;
(Voor meer details zie hieronder.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	-- Hier komt de hoofdmodule.&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aanbevolen praktijk is echter om een functie alleen te gebruiken voor het verwerken van argumenten vanaf {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}}.&lt;br /&gt;
Dit betekent dat als iemand de module uit een andere Lua-module roept, men geen frame-object hoeft te hebben, wat de prestaties verbetert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	-- Hier komt de code van de hoofdmodule.&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als u meerdere functies wilt gebruiken om de argumenten te gebruiken, en u wilt ook dat ze vanaf {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}} toegankelijk zijn, kunt u een wrapper-functie gebruiken.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function makeInvokeFunc(funcName)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		local args = getArgs(frame)&lt;br /&gt;
		return p[funcName](args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.func1 = makeInvokeFunc(&amp;#039;_func1&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function p._func1(args)&lt;br /&gt;
	-- De code voor de eerste functie komt hier.&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.func2 = makeInvokeFunc(&amp;#039;_func2&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function p._func2(args)&lt;br /&gt;
	-- De code voor de tweede functie komt hier.&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Options&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Opties ===&lt;br /&gt;
De volgende opties zijn beschikbaar:&lt;br /&gt;
Deze worden in de onderstaande secties uitgelegd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local args = getArgs(frame, {&lt;br /&gt;
	trim = false,&lt;br /&gt;
	removeBlanks = false,&lt;br /&gt;
	valueFunc = function (key, value)&lt;br /&gt;
		-- Code voor het verwerken van een argument&lt;br /&gt;
	end,&lt;br /&gt;
	frameOnly = true,&lt;br /&gt;
	parentOnly = true,&lt;br /&gt;
	parentFirst = true,&lt;br /&gt;
	wrappers = {&lt;br /&gt;
		&amp;#039;Template:A wrapper template&amp;#039;,&lt;br /&gt;
		&amp;#039;Template:Another wrapper template&amp;#039;&lt;br /&gt;
	},&lt;br /&gt;
	readOnly = true,&lt;br /&gt;
	noOverwrite = true&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Trimming_and_removing_blanks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Trimmen en verwijderen van spaties ===&lt;br /&gt;
Lege argumenten zorgen vaak voor problemen bij programmeurs die nieuw zijn bij het omzetten van MediaWiki-sjablonen naar Lua.&lt;br /&gt;
In de sjabloonsyntaxis worden lege teksten en teksten die alleen uit spaties bestaan als &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; beschouwd.&lt;br /&gt;
In Lua worden deze beide echter als &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; beschouwd.&lt;br /&gt;
Dit betekent dat als men niet let op dergelijke argumenten let wanneer men een Lua-modules schrijft, men iets als &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; zou kunnen behandelen dat eigenlijk als &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; zou moeten worden behandeld.&lt;br /&gt;
Om dit te voorkomen verwijdert deze module standaard alle lege argumenten.&lt;br /&gt;
&lt;br /&gt;
Op dezelfde manier kan witruimte (spaties) problemen veroorzaken bij het omgaan met positionele argumenten.&lt;br /&gt;
Hoewel witruimte is getrimd voor benoemde argumenten die afkomstig zijn van {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}}, wordt het bewaard voor positionele argumenten.&lt;br /&gt;
De meeste tijd is deze extra witruimte niet gewild, dus trimt deze module het standaard af.&lt;br /&gt;
&lt;br /&gt;
Soms wil men echter lege argumenten gebruiken als input, en soms wil men extra witruimte behouden.&lt;br /&gt;
Dit kan nodig zijn om sommige sjablonen precies zoals ze werden geschreven om te zetten.&lt;br /&gt;
Als men dit wil doen, kan men de argumenten &amp;lt;code&amp;gt;trim&amp;lt;/code&amp;gt; en &amp;lt;code&amp;gt;removeBlanks&amp;lt;/code&amp;gt; instellen op &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local args = getArgs(frame, {&lt;br /&gt;
	trim = false,&lt;br /&gt;
	removeBlanks = false&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Custom_formatting_of_arguments&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Aangepaste opmaak van argumenten ===&lt;br /&gt;
Soms wil men enkele lege argumenten verwijderen, maar niet andere, of misschien wil men al de positionele argumenten in kleine letters omzetten.&lt;br /&gt;
Om zoiets te doen kan men de optie &amp;lt;code&amp;gt;valueFunc&amp;lt;/code&amp;gt; gebruiken.&lt;br /&gt;
De invoer van deze optie moet een functie zijn die twee parameters, &amp;lt;code&amp;gt;key&amp;lt;/code&amp;gt; en &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, heeft en een enkele waarde teruggeeft.&lt;br /&gt;
Deze waarde wordt verkregen wanneer u het veld &amp;lt;code&amp;gt;key&amp;lt;/code&amp;gt; in de tabel &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt; opzoekt.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Voorbeeld 1:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Deze functie behoudt witruimte voor het eerste positionele argument, maar trimt alle andere argumenten en verwijdert alle andere lege argumenten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local args = getArgs(frame, {&lt;br /&gt;
	valueFunc = function (key, value)&lt;br /&gt;
		if key == 1 then&lt;br /&gt;
			return value&lt;br /&gt;
		elseif value then&lt;br /&gt;
			value = mw.text.trim(value)&lt;br /&gt;
			if value ~= &amp;#039;&amp;#039; then&lt;br /&gt;
				return value&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Voorbeeld 2:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Deze functie verwijdert lege argumenten en zet alle argumenten om in kleine letters, maar trimt geen witruimte van positionele parameters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local args = getArgs(frame, {&lt;br /&gt;
	valueFunc = function (key, value)&lt;br /&gt;
		if not value then&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		value = mw.ustring.lower(value)&lt;br /&gt;
		if mw.ustring.find(value, &amp;#039;%S&amp;#039;) then&lt;br /&gt;
			return value&lt;br /&gt;
		end&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=&lt;br /&gt;
De bovenstaande functies zullen falen als invoert wordt doorgegeven die niet van type &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; of &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; is.&lt;br /&gt;
Dit kan het geval zijn als u de functie &amp;lt;code&amp;gt;getArgs&amp;lt;/code&amp;gt; gebruikt in de hoofdfunctie van uw module, en die functie wordt aangeroepen door een andere Lua-module.&lt;br /&gt;
In dit geval moet u het type van uw invoer controleren.&lt;br /&gt;
Dit is geen probleem als u een functie gebruikt speciaal voor argumenten van {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}} (d.w.z. u heeft functies van &amp;lt;code&amp;gt;p.main&amp;lt;/code&amp;gt; en &amp;lt;code&amp;gt;p._main&amp;lt;/code&amp;gt; of iets soortgelijks).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Collapse top|1=Voorbeelden 1 en 2 met typecontrole}}&lt;br /&gt;
Voorbeeld 1:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local args = getArgs(frame, {&lt;br /&gt;
	valueFunc = function (key, value)&lt;br /&gt;
		if key == 1 then&lt;br /&gt;
			return value&lt;br /&gt;
		elseif type(value) == &amp;#039;string&amp;#039; then&lt;br /&gt;
			value = mw.text.trim(value)&lt;br /&gt;
			if value ~= &amp;#039;&amp;#039; then&lt;br /&gt;
				return value&lt;br /&gt;
			else&lt;br /&gt;
				return nil&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return value&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voorbeeld 2:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local args = getArgs(frame, {&lt;br /&gt;
	valueFunc = function (key, value)&lt;br /&gt;
		if type(value) == &amp;#039;string&amp;#039; then&lt;br /&gt;
			value = mw.ustring.lower(value)&lt;br /&gt;
			if mw.ustring.find(value, &amp;#039;%S&amp;#039;) then&lt;br /&gt;
				return value&lt;br /&gt;
			else&lt;br /&gt;
				return nil&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return value&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
Houd er ook rekening mee dat de functie &amp;lt;code&amp;gt;valueFunc&amp;lt;/code&amp;gt; meer of minder wordt aangeroepen elke keer dat een argument wordt gevraagd uit de &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt; tabel, dus als u om prestaties geeft moet u ervoor zorgen dat u niets inefficiënt doet in uw code.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Frames_and_parent_frames&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Frames en bovenliggende frames ===&lt;br /&gt;
&lt;br /&gt;
Argumenten in de tabel &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt; kunnen tegelijkertijd worden doorgegeven vanuit het huidige frame of vanuit het bovenliggende frame (parent).&lt;br /&gt;
Om beter te begrijpen wat dit betekent, geven we een voorbeeld.&lt;br /&gt;
Laten we zeggen dat we een module &amp;lt;code&amp;gt;Module:ExampleArgs&amp;lt;/code&amp;gt; hebben.&lt;br /&gt;
Deze module print de eerste twee positionele argumenten die het ontvangt.&lt;br /&gt;
&lt;br /&gt;
{{Collapse top|1=code Module:ExampleArgs}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	local first = args[1] or &amp;#039;&amp;#039;&lt;br /&gt;
	local second = args[2] or &amp;#039;&amp;#039;&lt;br /&gt;
	return first .. &amp;#039; &amp;#039; .. second&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Module:ExampleArgs&amp;lt;/code&amp;gt; wordt dan aangeroepen door &amp;lt;code&amp;gt;Template:ExampleArgs&amp;lt;/code&amp;gt;, die de code &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:ExampleArgs|main|firstInvokeArg}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; bevat.&lt;br /&gt;
Dit geeft het resultaat &amp;quot;firstInvokeArg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Als we nu &amp;lt;code&amp;gt;Template:ExampleArgs&amp;lt;/code&amp;gt; zouden aanroepen, zou het volgende gebeuren:&lt;br /&gt;
&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50em; max-width: 100%;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! style=&amp;quot;width: 60%;&amp;quot; {{!}} Code&lt;br /&gt;
! style=&amp;quot;width: 40%;&amp;quot; {{!}} Resultaat&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} firstInvokeArg&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs|firstTemplateArg}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} firstInvokeArg&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs|firstTemplateArg|secondTemplateArg}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} firstInvokeArg secondTemplateArg&lt;br /&gt;
{{!)}}&lt;br /&gt;
&lt;br /&gt;
Er zijn drie opties die u kunt instellen om dit gedrag te veranderen: &amp;lt;code&amp;gt;frameOnly&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;parentOnly&amp;lt;/code&amp;gt; en &amp;lt;code&amp;gt;parentFirst&amp;lt;/code&amp;gt;.&lt;br /&gt;
Als u &amp;lt;code&amp;gt;frameOnly&amp;lt;/code&amp;gt; instelt, worden alleen de argumenten die zijn overgebracht uit het huidige frame geaccepteerd; als u &amp;lt;code&amp;gt;parentOnly&amp;lt;/code&amp;gt; instelt, zullen alleen de argumenten die zijn overgenomen uit het bovenliggende frame worden geaccepteerd; en als u &amp;lt;code&amp;gt;parentFirst&amp;lt;/code&amp;gt; instelt, dan zullen argumenten worden overgebracht van zowel het huidige als het bovenliggende frame, maar het bovenliggende frame zal voorrang hebben boven het huidige frame.&lt;br /&gt;
Dit zijn de resultaten in termen van &amp;lt;code&amp;gt;Template:ExampleArgs&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;frameOnly&amp;lt;/code&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50em; max-width: 100%;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! style=&amp;quot;width: 60%;&amp;quot; {{!}} Code&lt;br /&gt;
! style=&amp;quot;width: 40%;&amp;quot; {{!}} Resultaat&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} firstInvokeArg&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs|firstTemplateArg}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} firstInvokeArg&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs|firstTemplateArg|secondTemplateArg}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} firstInvokeArg&lt;br /&gt;
{{!)}}&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;parentOnly&amp;lt;/code&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50em; max-width: 100%;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! style=&amp;quot;width: 60%;&amp;quot; {{!}} Code&lt;br /&gt;
! style=&amp;quot;width: 40%;&amp;quot; {{!}} Resultaat&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs|firstTemplateArg}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} firstTemplateArg&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs|firstTemplateArg|secondTemplateArg}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} firstTemplateArg secondTemplateArg&lt;br /&gt;
{{!)}}&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;parentFirst&amp;lt;/code&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50em; max-width: 100%;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! style=&amp;quot;width: 60%;&amp;quot; {{!}} Code&lt;br /&gt;
! style=&amp;quot;width: 40%;&amp;quot; {{!}} Resultaat&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} firstInvokeArg&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs|firstTemplateArg}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} firstTemplateArg&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ExampleArgs|firstTemplateArg|secondTemplateArg}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} firstTemplateArg secondTemplateArg&lt;br /&gt;
{{!)}}&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=&lt;br /&gt;
{{Ordered list&lt;br /&gt;
|1=&lt;br /&gt;
Als u de opties &amp;lt;code&amp;gt;frameOnly&amp;lt;/code&amp;gt; en &amp;lt;code&amp;gt;parentOnly&amp;lt;/code&amp;gt; instelt, zal de module helemaal geen argumenten ophalen van {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}}.&lt;br /&gt;
Dit is waarschijnlijk niet wat u wilt.&lt;br /&gt;
|2=&lt;br /&gt;
In sommige situaties is een bovenliggend frame mogelijk niet beschikbaar, bijvoorbeeld als &amp;lt;code&amp;gt;getArgs&amp;lt;/code&amp;gt; juist wordt doorgegeven door het bovenliggende frame.&lt;br /&gt;
In dit geval worden alleen de frame-argumenten gebruikt (tenzij &amp;lt;code&amp;gt;parentOnly&amp;lt;/code&amp;gt; is ingesteld, in welk geval geen argumenten worden gebruikt) en hebben de opties &amp;lt;code&amp;gt;parentFirst&amp;lt;/code&amp;gt; en &amp;lt;code&amp;gt;frameOnly&amp;lt;/code&amp;gt; geen effect.&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Wrappers ===&lt;br /&gt;
&lt;br /&gt;
De optie &amp;lt;code&amp;gt;wrappers&amp;lt;/code&amp;gt;e wordt gebruikt om een beperkt aantal sjablonen op te geven als &amp;#039;&amp;#039;wrapper-sjablonen&amp;#039;&amp;#039;, dat wil zeggen sjablonen waarvan het enige doel is om een module aan te roepen.&lt;br /&gt;
Als de module ziet dat deze wordt aangeroepen vanuit een wrapper-sjabloon, controleert deze alleen op argumenten in het bovenliggende frame; Anders wordt er alleen gecontroleerd op argumenten in het frame dat is doorgegeven aan &amp;lt;code&amp;gt;getArgs&amp;lt;/code&amp;gt;.&lt;br /&gt;
Dit maakt het mogelijk om modules aan te roepen met {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}} of via een wrapper-sjabloon zonder het verlies aan prestaties vanwege het moeten controleren van zowel het frame als het bovenliggende frame voor elke zoekopdracht naar argumenten.&lt;br /&gt;
&lt;br /&gt;
Voorbeeld: de enige inhoud van {{tlx|Navbox}} (exclusief inhoud in tags {{tag|noinclude}}) is &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Navbox|navbox}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
Het is niet zinvol om de argumenten die rechtstreeks worden overgedragen aan het statement {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}} voor dit sjabloon te controleren, omdat er nooit argumenten worden gespecificeerd.&lt;br /&gt;
We kunnen voorkomen dat argumenten die naar {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}} worden overgedragen worden gecontroleerd door de optie &amp;lt;code&amp;gt;parentOnly&amp;lt;/code&amp;gt; te gebruiken, maar als we dit doen, zal {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}} ook niet werken vanaf andere pagina&amp;#039;s.&lt;br /&gt;
Als dit het geval zou zijn, dan zou {{tmpl|0={{para|text|$1}}|Wat tekst}} in de code {{tmpl|0={{tlc|&amp;lt;nowiki&amp;gt;#invoke:Navbox&amp;lt;/nowiki&amp;gt;|navbox|3=text=$1}}|Sommige tekst}} volledig worden genegeerd, ongeacht vanaf welke pagina het werd gebruikt.&lt;br /&gt;
Door de optie &amp;lt;code&amp;gt;wrappers&amp;lt;/code&amp;gt; te gebruiken om [[Template:Navbox]] als wrapper op te geven, kunnen we {{tmpl|0={{tlc|&amp;lt;nowiki&amp;gt;#invoke:Navbox&amp;lt;/nowiki&amp;gt;|main|3=text=$1}}|Sommige tekst}} laten werken vanaf de meeste pagina&amp;#039;s, terwijl het nog steeds niet vereist is dat de module controleert op argumenten op de pagina [[Template:Navbox]] zelf.&lt;br /&gt;
&lt;br /&gt;
Wrappers kunnen worden gespecificeerd als een string of als een matrix strings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local args = getArgs(frame, {&lt;br /&gt;
	wrappers = &amp;#039;Template:Wrapper template&amp;#039;&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local args = getArgs(frame, {&lt;br /&gt;
	wrappers = {&lt;br /&gt;
		&amp;#039;Template:Wrapper 1&amp;#039;,&lt;br /&gt;
		&amp;#039;Template:Wrapper 2&amp;#039;,&lt;br /&gt;
		-- Hier kan elk aantal wrapper-sjablonen worden toegevoegd.&lt;br /&gt;
	}&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|text=&lt;br /&gt;
{{Ordered list&lt;br /&gt;
|1=&lt;br /&gt;
De module detecteert automatisch of het wordt aangeroepen vanaf de subpagina &amp;lt;code&amp;gt;/sandbox&amp;lt;/code&amp;gt; van een wrapper-sjabloon, dus het is niet nodig om zandbak-pagina&amp;#039;s expliciet op te geven.&lt;br /&gt;
|2=&lt;br /&gt;
De optie &amp;lt;code&amp;gt;wrappers&amp;lt;/code&amp;gt; verandert effectief de standaard van de opties &amp;lt;code&amp;gt;frameOnly&amp;lt;/code&amp;gt; en &amp;lt;code&amp;gt;parentOnly&amp;lt;/code&amp;gt;.&lt;br /&gt;
Als bijvoorbeeld &amp;lt;code&amp;gt;parentOnly&amp;lt;/code&amp;gt; expliciet op &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; met &amp;lt;code&amp;gt;wrappers&amp;lt;/code&amp;gt; werd ingesteld, zouden aanroepen via wrapper-sjablonen resulteren in het laden van zowel frame als bovenliggende frame argumenten, hoewel aanroepen zonder wrapper-sjablonen alleen argumenten van het frame zouden worden geladen.&lt;br /&gt;
|3=&lt;br /&gt;
Als de optie &amp;lt;code&amp;gt;wrappers&amp;lt;/code&amp;gt; is ingesteld en er geen bovenliggend frame beschikbaar is, krijgt de module altijd de argumenten van het frame overgedragen naar &amp;lt;code&amp;gt;getArgs&amp;lt;/code&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Schrijven naar de tabel &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Soms kan het nuttig zijn om nieuwe waarden in de tabel &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt; te schrijven.&lt;br /&gt;
Dit is mogelijk met de standaardinstellingen van deze module.&lt;br /&gt;
(Houd er echter rekening mee dat het meestal beter is om een nieuwe tabel met uw nieuwe waarden te maken en  indien nodig argumenten uit de tabel &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt; te kopiëren.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
args.foo = &amp;#039;een waarde&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Het is mogelijk om dit gedrag te veranderen met de opties &amp;lt;code&amp;gt;readOnly&amp;lt;/code&amp;gt; en &amp;lt;code&amp;gt;noOverwrite&amp;lt;/code&amp;gt;.&lt;br /&gt;
Als &amp;lt;code&amp;gt;readOnly&amp;lt;/code&amp;gt; is ingesteld, is het niet mogelijk om waarden in de tabel &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt; te schrijven.&lt;br /&gt;
Als &amp;lt;code&amp;gt;noOverwrite&amp;lt;/code&amp;gt; is ingesteld, is het mogelijk om nieuwe waarden toe te voegen aan de tabel, maar het is niet mogelijk om een waarde toe te voegen als het argumenten zou overschrijven die worden doorgegeven vanaf {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}}.&lt;br /&gt;
&lt;br /&gt;
=== Ref tags ===&lt;br /&gt;
Deze module gebruikt [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#Metatables|meta-tabellen]] om argumenten uit {{tlc|&amp;lt;nowiki&amp;gt;#invoke:...&amp;lt;/nowiki&amp;gt;}} op te halen.&lt;br /&gt;
Dit maakt toegang tot zowel de frame-argumenten als de bovenliggende frame-argumenten mogelijk zonder de functie &amp;lt;code&amp;gt;pairs()&amp;lt;/code&amp;gt; te gebruiken.&lt;br /&gt;
Dit kan helpen als uw module tags {{xtag|ref}} als invoer kan doorsturen.&lt;br /&gt;
&lt;br /&gt;
Zodra {{xtag|ref}} tags vanaf Lua worden gehaald, worden ze verwerkt door de MediaWiki-software en de referentie verschijnt in de referentielist onderaan het artikel.&lt;br /&gt;
Als uw module de referentie-tag uit de uitvoer weglaat, krijgt u een fantoom-referentie - een referentie die in de referentielist verschijnt, maar geen nummer dat ermee verbinding maakt.&lt;br /&gt;
Dit is een probleem met modules die &amp;lt;code&amp;gt;pairs()&amp;lt;/code&amp;gt; gebruiken om te detecteren of ze de argumenten uit het frame of het bovenliggende frame moeten gebruiken, omdat die modules automatisch elk beschikbaar argument verwerken.&lt;br /&gt;
&lt;br /&gt;
Deze module lost dit probleem op door toegang te geven tot zowel frame- als bovenliggende frame-argumenten, terwijl deze nog steeds alleen worden opgehaald wanneer dat nodig is.&lt;br /&gt;
Het probleem zal echter nog steeds optreden als u &amp;lt;code&amp;gt;pairs(args)&amp;lt;/code&amp;gt; elders in uw module gebruikt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Known_limitations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Bekende beperkingen ===&lt;br /&gt;
Het gebruik van meta-tabellen heeft ook zijn nadelen.&lt;br /&gt;
De meeste normale Lua-tabel-hulpmiddelen werken niet goed op de tabel &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;, inclusief de operator &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, de functie &amp;lt;code&amp;gt;next()&amp;lt;/code&amp;gt; en de functies in de bibliotheek &amp;lt;code&amp;gt;table&amp;lt;/code&amp;gt;.&lt;br /&gt;
Als het gebruik van deze is belangrijk voor uw module, moet u uw eigen functie voor argument-verwerking maken in plaats van deze module te gebruiken.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Tests&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Testen ==&lt;br /&gt;
{{ModuleQuality}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Lua metamodules{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Arguments/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>mediawiki&gt;HanV</name></author>
	</entry>
</feed>