Module:Ajout
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 = {}
function f(x)
return x+1
end
function g(x)
return x+2
end
function h(x)
return x+3
end
function p.ajoute(frame)
local Aj = {}
local reponse = tonumber(frame.args[1])
Aj.ajoute1 = f
Aj.ajoute2 = g
Aj.ajoute3 = h
if frame.args[2] == "1" then reponse = Aj.ajoute1(reponse) end
if frame.args[2] == "2" then reponse = Aj.ajoute2(reponse) end
if frame.args[2] == "3" then reponse = Aj.ajoute3(reponse) end
return reponse
end
function p.rajoute(frame)
local Aj = {}
local reponse = tonumber(frame.args[1])
Aj["ajoute1"] = f
Aj["ajoute2"] = g
Aj["ajoute3"] = h
if frame.args[2] == "1" then reponse = Aj["ajoute1"](reponse) end
if frame.args[2] == "2" then reponse = Aj["ajoute2"](reponse) end
if frame.args[2] == "3" then reponse = Aj["ajoute3"](reponse) end
return reponse
end
function p.incremente(frame)
local Aj = {}
local index = "ajoute"..frame.args[2]
local reponse = tonumber(frame.args[1])
Aj["ajoute1"] = f
Aj["ajoute2"] = g
Aj["ajoute3"] = h
reponse = Aj[index](reponse)
return reponse
end
return p