Module:Format
Apparence
La documentation de ce module est générée par le modèle {{Documentation module}}.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
-- Module dédié au formatage de texte
local fun = {}
-- Mise en forme des nombres avec unité
-- Basé sur Modèle:Unité, mais sans limitation de nombre d'arguments
function fun.unite(frame)
local pframe = frame:getParent()
local arguments = pframe.args
return frame:preprocess(fun.do_unite(arguments))
end
-- Réalisation de la fonction précédente
function fun.do_unite(arguments)
result = ""
-- Formatage de la valeur principale
if(arguments[1] ~= nil) then
result = "{{formatnum:" .. arguments[1] .. "}}"
end
-- Formatage de la puissance de 10 éventuelle
if(arguments.e ~= nil) then
result = result .. fun.do_x10{arguments.e}
end
-- Parcours des unités et exposants
index = 2
while(arguments[index] ~= nil) do
if (index == 2) then
-- Première unité : espace insécable
result = result .. " "
else
-- Unités suivantes : point médian
result = result .. "⋅"
end
-- Affichage de l'unité
result = result .. arguments[index]
-- Exposant éventuel
if(arguments[index+1] ~= nil) then
result = result .. fun.do_expo{arguments[index+1]}
end
index = index + 2
end
-- Non-retour à la ligne
result = "<span class=\"nowrap\">" .. result .. "</span>"
return result
end
-- Mise en forme des exposants
-- Basé sur Modèle:Exp
function fun.expo(frame)
local pframe = frame:getParent()
local arguments = pframe.args
return fun.do_expo(arguments)
end
-- Réalisation de la fonction précédente
function fun.do_expo(arguments)
result = ""
if(arguments[1] ~= nil) then
result = result .. arguments[1]
end
result = "<sup>" .. result .. "</sup>"
return result
end
-- Mise en forme des puissances de 10
-- Basé sur Modèle:x10
function fun.x10(frame)
local pframe = frame:getParent()
local arguments = pframe.args
return fun.do_x10(arguments)
end
-- Réalisation de la fonction précédente
function fun.do_x10(arguments)
result = "×10" .. fun.do_expo{arguments[1]}
return result
end
-- Affichage d'une valeur en parsecs
-- Basé sur Modèle:Parsec
function fun.parsec(frame)
local pframe = frame:getParent()
local arguments = pframe.args
return frame:preprocess(fun.do_parsec(arguments))
end
-- Réalisation de la fonction précédente
function fun.do_parsec(arguments)
result = ""
-- Unités disponibles
units = {
pc = {"[[parsec|pc]]", "1", "", "1", ""},
kpc = {"[[Kiloparsec|kpc]]", "1000", "", "0.001", "millions d'"},
mpc = {"[[Mégaparsec|Mpc]]", "1", "millions d'", "0.001", "milliards d'"},
gpc = {"[[Gigaparsec|Gpc]]", "1", "milliards d'", "1", "milliards d'"}
}
-- Valeur principale
resultVal = (arguments[1] or "")
-- Unité utilisée
unitData = (units[arguments[2]] or units.pc)
if(arguments.marge ~= nil or arguments.sup ~= nil) then
result = result .. "environ "
if(arguments.marge ~= nil) then
if(tonumber(arguments.marge) ~= nil) then
resultMarge = "<small>±" .. arguments.marge .. "</small>"
else
resultMarge = arguments.marge
end
resultVal = resultVal .. resultMarge
end
if(arguments.sup ~= nil) then
resultVal = resultVal .. "à " .. arguments.sup
end
end
-- Affichage de la valeur
result = result .. fun.do_unite{resultVal,unitData[1]} .. " "
-- Affichage de la conversion en années-lumière
-- Utilisation provisoire de toal-lim pour les tests
result = result .. fun.do_unite{"(∼{{Parsec/toal-lim|" .. (arguments[1] or "") .. "|" .. unitData[2] .. "|" .. unitData[3] .. "|" .. unitData[4] .. "|" .. unitData[5] .. "|sup=" .. (arguments.sup or ""), "[[Année-lumière|a.l.]]"}
return result
end
return fun