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:EWZ und verwandte) der Metadaten-Vorlagen zu Einwohnerzahlen 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 Einwohnerzahl " .. frame.args[1]
	local total = 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 total = total + tonumber(frame:expandTemplate{ title = template, args = { frame.args[k] } }) end
	end
	return total
end

return p