Module:Utilisateur:Chroll/LUA/test1
Apparence
La documentation pour ce module peut être créée à Module:Utilisateur:Chroll/LUA/test1/Documentation
-- Module simple qui démontre comment utiliser les arguments
--[[ Pour en savoir plus sur l'objet Frame,
voyez https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/fr#L.27objet_Frame]]
local p = {}
-- Aucun argument. Pour l'appeler : {{#invoke:BananesArgs|hello_world}}
function p.hello_world()
return "Hello, world!"
end
-- Un argument. Pour l'appeler : {{#invoke:BananesArgs|hello|Fred}}
function p.hello(frame)
local nom = frame.args[1] -- dans cet exemple, args[1] est le mot « Fred »
return "(de Chroll) Hello, " .. nom .. "!" -- .. nom .. est remplacé par le mot « Fred »
end
-- Deux arguments. Pour l'appeler : {{#invoke:BananesArgs|adition|5|3}}
function p.adition(frame)
local nomb1 = tonumber(frame.args[1])
local nomb2 = tonumber(frame.args[2])
return nomb1 + nomb2
end
-- Argument nommé. Pour l'appeler : {{#invoke:BananesArgs|somme_fruit|bananes=5|pommes=3}}
function p.somme_fruit(frame)
local nomb_bananes = frame.args.bananes
local nomb_pommes = frame.args.pommes
return "J'ai " .. nomb_bananes .. ' bananes et ' .. nomb_pommes .. ' pommes'
end
--[[ Exemple avec des arguments non nommés, des arguments nommés et des arguments optionnels
Pour l'appeler : {{#invoke:BananesArgs|total_fruit|Fred|bananes=5|cerises=7}} ]]
function p.total_fruit(frame)
local nom = frame.args[1]
local nomb_bananes = frame.args.bananes
local nomb_pommes = frame.args.pommes
local nomb_cerises = frame.args.cerises
local resultat = nom .. ' a :'
if nomb_bananes then resultat = resultat .. ' ' .. nomb_bananes .. ' bananes' end
if nomb_pommes then resultat = resultat .. ' ' .. nomb_pommes .. ' pommes' end
if nomb_cerises then resultat = resultat .. ' ' .. nomb_cerises .. ' cerises' end
return resultat
end
--[[ Iteration sur args.
Pour l'appeler : {{#invoke:BananesArgs|custom_fruit|ananas=10|kiwis=5}}]]
function p.custom_fruit(frame)
local resultat = "J'ai :"
for nom, valeur in pairs(frame.args) do
resultat = resultat .. ' ' .. valeur .. ' ' .. nom
end
return resultat
end
--[[ Itération sur args avec args obligatoirement distincts
Pour l'appeler : {{#invoke:BananesArgs|custom_fruit_2|Fred|ananas=10|kiwis=5}} ]]
function p.custom_fruit_2(frame)
local nom = frame.args[1]
local resultat = nom .. ' a :'
for nom, valeur in pairs(frame.args) do
if nom ~= 1 then
resultat = resultat .. ' ' .. valeur .. ' ' .. nom
end
end
return resultat
end
return p