Module:Démographie d'une subdivision territoriale au Canada en 2016

 Documentation[créer] [purger]
-- Module simple qui démontre comment utiliser les arguments
--[[ Pour en savoir plus sur l'objet Frame, 
 voyez https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/fr#L.27objet_Frame]]

local p = {}

-- Chiffres pour 2016 avec données de Statistique Canada. Mise en contexte grâce aux chiffres de 2011.
function p.texte_general_StatCan()
	return "En tant que " .. type_StatCan_16 .. " dans le [[Recensement de 2016 au Canada|recensement de 2016]], " .. nom .. " a une population de {{unité|" .. hab_2016 .. "}} habitants dans " .. logt_occupes_2016 .. " de ses " .. total_logt_2016 .. " logements, soit une variation de " .. variation_2011_2016 .. " avec la population de 2011. Avec une superficie de {{unité|" .. superficie_2016 .. "}}, la ville possède une densité de population de {{unité|" .. densite_2016 .. "}} en 2011<ref name=statcan2016dpl>{{Lien web |langue= fr|url= http://www12.statcan.gc.ca/census-recensement/2011/dp-pd/hlt-fst/pd-pl/Table-Tableau.cfm?Lang=fra&T=302&SR=1&S=51&O=A&RPP=9999&PR=48&CMA=0#FootCSDType|titre= Chiffres de population et des logements, Canada, provinces et territoires, et subdivisions de recensement (municipalités), recensements de 2011 et 2006|date= {{1er}} janvier 2014|site= [[Statistique Canada]]|consulté le= 5 février 2014}}</ref>.<br /><br />Concernant le [[Recensement de 2011 au Canada|recensement de 2011]], " .. nom .. " abritait {{unité|" .. hab_2011 .. "}} habitants dans " .. logt_occupes_2011 .. " de ses " .. total_logt_2011 .. " logements. Avec une superficie d'alors {{unité|" .. superficie_2011 .. "}}, la ville possédait une densité de population de {{unité|" .. densite_2011 .. "}} en 2011<ref name=statcan2011dpl>{{Lien web |langue= fr|url= http://www12.statcan.gc.ca/census-recensement/2006/dp-pd/hlt/97-550/Index.cfm?TPL=P1C&Page=RETR&LANG=Fra&T=302&SR=1&S=1&O=A&RPP=9999&PR=48&CMA=0|titre= Chiffres de population et des logements, Canada, provinces et territoires, et subdivisions de recensement (municipalités), recensements de 2006 et 2001 - Données intégrales|date= {{1er}} juin 2010|site= [[Statistique Canada]]|consulté le= 5 février 2014}}</ref>."
end

-- Aucun argument. Pour l'appeler : {{#invoke:BananesArgs|hello_world}}
function p.hello_world()
	return "Hello, world!"
end

-- Un argument. Pour l'appeler : {{#invoke:BananesArgs|hello|Fred}} 
function p.hello(frame)
	local nom = frame.args[1] -- dans cet exemple, args[1] est le mot « Fred » 
	return "Hello, " .. nom .. "!" -- .. nom .. est remplacé par le mot « Fred »
end

-- Deux arguments. Pour l'appeler : {{#invoke:BananesArgs|adition|5|3}}
function p.adition(frame)
	local nomb1 = tonumber(frame.args[1])
	local nomb2 = tonumber(frame.args[2])
	return nomb1 + nomb2
end

-- Argument nommé. Pour l'appeler : {{#invoke:BananesArgs|somme_fruit|bananes=5|pommes=3}}
function p.somme_fruit(frame)
	local nomb_bananes = frame.args.bananes
	local nomb_pommes = frame.args.pommes
	return "J'ai " .. nomb_bananes .. ' bananes et ' .. nomb_pommes .. ' pommes'
end

--[[ Exemple avec des arguments non nommés,  des arguments nommés et des arguments optionnels 
  Pour l'appeler : {{#invoke:BananesArgs|total_fruit|Fred|bananes=5|cerises=7}} ]]
function p.total_fruit(frame)
	local nom = frame.args[1]
	local nomb_bananes = frame.args.bananes
	local nomb_pommes = frame.args.pommes
	local nomb_cerises = frame.args.cerises
	
	local resultat = nom .. ' a :'
	if nomb_bananes then resultat = resultat .. ' ' .. nomb_bananes .. ' bananes' end
	if nomb_pommes then resultat = resultat .. ' ' .. nomb_pommes .. ' pommes' end
	if nomb_cerises then resultat = resultat .. ' ' .. nomb_cerises .. ' cerises' end
	return resultat
end

--[[ Iteration sur args.
 Pour l'appeler : {{#invoke:BananesArgs|custom_fruit|ananas=10|kiwis=5}}]]
function p.custom_fruit(frame)
	local resultat = "J'ai :"
	for nom, valeur in pairs(frame.args) do
		resultat = resultat .. ' ' .. valeur .. ' ' .. nom
	end
	return resultat
end

--[[ Itération sur args avec args obligatoirement distincts 
 Pour l'appeler : {{#invoke:BananesArgs|custom_fruit_2|Fred|ananas=10|kiwis=5}} ]]
function p.custom_fruit_2(frame)
	local nom = frame.args[1]
	local resultat = nom .. ' a :'
	for nom, valeur in pairs(frame.args) do
		if nom ~= 1 then
			resultat = resultat .. ' ' .. valeur .. ' ' .. nom
		end
	end
	return resultat
end

return p