Module:Iteratif
Ce module sert d'exemple dans la leçon Initiation au Lua avec Scribunto. son utilisation est décrite en détail dans celle-ci et, par conséquent, ce module ne doit pas être modifié sans tenir compte de la leçon.
local p = {}
local fouillis = {["Nourriture"] = "Fromage", ["Boisson"] = "Limonade", ["Bestiole"] = "Cafard", ["Couvert"] = "Fourchette", ["Truc"] = "Machin chose"}
function p.test()
local f,t,n = pairs(fouillis)
local reponse = ""
reponse = reponse.."<br/>La première valeur est de type "..type(f).." et la clé suivant la clé couvert est la clé "..f(fouillis,"Couvert")
reponse = reponse.."<br/>La seconde valeur est de type "..type(t).." et t[Boisson] = "..t["Boisson"]
reponse = reponse.."<br/>La troisième valeur est de type "..type(n)
return reponse
end
function p.farfouille()
local reponse = " "
for index, objet in next,fouillis,nil do
reponse = reponse.."<br />à la clé "..index.." se trouve l’objet "..objet.."."
end
return reponse
end
local souk = {"flute", "pipo", "manche à balaie", "serpière", "jeu de cartes", "coton tige", "tourne vis", "rateau", "stylo", "poupée"}
function suivant(tab,n)
if n == nil then n = 0 end
if tab[n+1] == nil then
return nil,nil
else
return n+1,tab[n+1]
end
end
function p.description()
local reponse = " "
for index, objet in suivant,souk,nil do
reponse = reponse.."<br />à la clé numéro "..index.." se trouve l’objet "..objet.."."
end
return reponse
end
return p