Module:Ressources/repetition

De Poképédia
Aller à la navigation Aller à la recherche

Fonction servant à répéter un texte (qui peut être aussi bien une seule lettre qu'une phrase entière) un certain nombre de fois.
ressources.repetition( "test", 3 ) donne : testtesttest

Un troisième paramètre sert à renseigner la couleur. Par défaut la couleur dépend de l'élément supérieur (inherit), ce qui signifie la plupart du temps que le texte sera noir.
ressources.repetition( "salut", 2, "red" ) donne : salutsalut

Enfin, le dernier paramètre définit ce que la fonction renvoie si le nombre de répétition est 0.
ressources.repetition( "hey !", 2, nil, "rien à dire" ) donne : hey !hey !
ressources.repetition( "hey !", 0, "green", "rien à dire" ) donne : rien à dire


return function( el, nbr, couleur, zero )
	if nbr == 0 and zero then return zero end
	local resultat = {}
	if el == nil then el = "" end
	if nbr == nil then nbr = 1 end
	if couleur ~= nil then
		local frame = mw.getCurrentFrame()
		couleur = frame:expandTemplate{ title = 'Couleur', args = { couleur } }
		table.insert(resultat, '<span style="color: ' .. couleur .. '">')
	end
	local i = 1
	while i <= nbr do
		table.insert(resultat, el)
		i = i + 1
	end
	if couleur ~= nil then table.insert(resultat, '</span>') end
	return table.concat(resultat, "")
end