Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter  –  Chatte im Wiki-Discord  – Noch keinen Server gefunden? Es gibt einen Wiki-Server

Modul:ParameterUmwandeln

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche
[Lesen | Bearbeiten | Versionen | Aktualisieren]Buch und Feder.png DokumentationSpringe zum Quelltext ↴Lua logo.svg Zum Gebrauch von Lua-Modulen siehe die Modul-Hilfe.

Das Modul ParameterUmwandeln stellt Funktionen zur Verfügung, die Vorlagenparameter in eine Argumenteliste umwandeln, die von Modulfunktionen verarbeitet werden kann. Das Modul wird nur von anderen Modulen aufgerufen, nicht von Vorlagen.

Beispiel: aus dem Vorlagenparameter "title = xxx" wird das Modulargument "args.title" mit dem Wert "xxx".

  • norm: einfache Umwandlung
  • merge: wenn eine Vorlage durch eine andere Vorlage aufgerufen wurde, können hiermit die Parameter beider Vorlagen zusammengeführt und umgewandelt werden

Aufruf

Die Parameter der Vorlage werden an die Funktionen übergeben und die Argumenteliste zurückgeliefert.

args = require( 'Modul:ParameterUmwandeln' ).norm( args )

args = require( 'Modul:ParameterUmwandeln' ).merge( true )

Anwendung

Liste der Module, die dieses Modul verwenden


local p = {}
function p.norm( origArgs )
	if type( origArgs ) ~= 'table' then
		origArgs = mw.getCurrentFrame():getParent().args
	end
	local args = {}
	
	for k, v in pairs( origArgs ) do
		v = mw.text.trim( tostring( v ) )
		if v ~= '' then
			args[k] = v
		end
	end
	
	return args
end

function p.merge( origArgs, parentArgs, norm )
	if type( origArgs ) ~= 'table' then
		norm = origArgs
		local f = mw.getCurrentFrame()
		origArgs = f.args
		parentArgs = f:getParent().args
	end
	local args = {}
	
	for k, v in pairs( origArgs ) do
		v = mw.text.trim( tostring( v ) )
		if ( not norm or norm and v ~= '' ) and not args[k] then
			args[k] = v
		end
	end
	
	for k, v in pairs( parentArgs ) do
		v = mw.text.trim( v )
		if ( not norm or norm and v ~= '' ) and not args[k] then
			args[k] = v
		end
	end
	
	return args
end
return p