Module:Test liste
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 de gestion des palettes de navigation
-- table du module
local p = {}
-- bêtement copié sur http://lua-users.org/wiki/MakingLuaLikePhp
-- équivalent de la fonction explode de PHP
function p.explode(div,str) -- credit: http://richard.warburton.it
if (div=='') then return false end
local pos,arr = 0,{}
-- for each divider found
for st,sp in function() return string.find(str,div,pos,true) end do
table.insert(arr,string.sub(str,pos,st-1)) -- Attach chars left of current divider
pos = sp + 1 -- Jump past current divider
end
table.insert(arr,string.sub(str,pos)) -- Attach chars right of last divider
return arr
end
-- fonction principale
function p.genlist(frame)
-- tableau des arguments
--local args = frame:getParent().args
-- début de la liste
local ret = '<ul>'
-- on boucle sur les paramètres
local i = 1
while(frame.args["list"..i] ~= nil) do
ret = ret.."<li>liste "..i
local elems = p.explode("*", frame.args["list"..i])
-- pour chaque élement de la liste séparé par *
local j = 1
ret = ret.."<ul>"
while(elems[j] ~= nil) do
-- si * est suivi d'un espace
if(string.sub(elems[j], 1) == " ") then
elems[j] = string.sub(elems[j], 1)
end
ret = ret .. '<li>'..elems[j]..'</li>'
--j++
j = j + 1
end
ret = ret.."</ul>"
ret = ret.."</li>"
--i++
i = i + 1
end
-- fin de la liste
ret = ret .. '</ul>'
-- fin
return ret
end
-- retour du module
return p