Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus

Dieses Modul stellt Hilfsfunktionen für die Formatierungsvorlagen (siehe Vorlage:HWZ und verwandte) der Metadaten-Vorlagen zu Gebäudezahlen bereit.

Gegenwärtig gibt es nur eine Funktion EinwohnerzahlSumme, die dazu dient die Einwohneranzahlen einer beliebigen Anzahl von Gebietskörperschaften einer Region aufzusummieren.


local p = {}

function p.EinwohnerzahlSumme(frame)
	-- direkt die der aufrufenden Vorlage übergebenen Parameter verwenden, da die Vorlage eine unbekannte Anzahl Parameter bekommt und
	-- daher nicht wissen kann wieviele dem Modul übergeben werden sollen
	frame = frame:getParent()
	if not frame.args[1] then return '<span class="error">kein Gebiet angegeben</span>' end
	local template = "Metadaten Gebäudezahl " .. frame.args[1]
	local total = 0;
	local add = 0;
	for k, v in pairs(frame.args) do
		-- nur unbenannte Parameter (d.h. jene mit numerischen Index) berücksichtigen und ersten Parameter überspringen
		if tonumber(k) and k >= 2 then
			add =  tonumber(frame:expandTemplate{ title = template, args = { frame.args[k] } }) or 0; -- Fehler abfangen
			total = total + add;
			add = 0;
		end
	end
	return total;
end

return p