Aller au contenu

Module:BananesArgs

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 23 février 2013 à 23:43 et modifiée en dernier par Dcoetzee (discuter | contributions) (Created page with '-- Sample Module demonstrating how to access arguments. -- For more about the Frame object, see http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_m...'). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)

 Documentation[voir] [modifier] [historique] [purger]


Exemple

Exemple Résultat
{{#invoke:BananesArgs|hello_world}} Hello, world!
{{#invoke:BananesArgs|hello|Fred}} Hello, Fred!
{{#invoke:BananesArgs|adition|5|3}} Erreur de script : la fonction « adition » n’existe pas.
{{#invoke:BananesArgs|somme_fruit|bananes=5|pommes=3}} Erreur de script : la fonction « somme_fruit » n’existe pas.
{{#invoke:BananesArgs|total_fruit|Fred|bananes=5|cerises=7}} Erreur de script : la fonction « total_fruit » n’existe pas.
{{#invoke:BananesArgs|custom_fruit|ananas=10|kiwis=5}} I have:
{{#invoke:BananesArgs|custom_fruit_2|Fred|ananas=10|kiwis=5}} Fred has:

Voir aussi

Aide:Module


-- Sample Module demonstrating how to access arguments.
-- For more about the Frame object, see http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Frame_object

local p = {}
 
-- No arguments, used like: {{#invoke:BananasArgs|hello_world}}
function p.hello_world()
    return "Hello, world!"
end
 
-- One argument, used like: {{#invoke:BananasArgs|hello|Fred}}
function p.hello(frame)
    local name = frame.args[1]
    return "Hello, " .. name .. "!"
end

-- Two arguments, used like: {{#invoke:BananasArgs|add|5|3}}
function p.add(frame)
    local num1 = tonumber(frame.args[1])
    local num2 = tonumber(frame.args[2])
    return num1 + num2
end

-- Named arguments, used like: {{#invoke:BananasArgs|count_fruit|bananas=5|apples=3}}
function p.count_fruit(frame)
    local num_bananas = frame.args['bananas']
    local num_apples = frame.args['apples']
    return 'I have ' .. num_bananas .. ' bananas and ' .. num_apples
end

-- Mixing regular args with named args and optional named args
-- Used like: {{#invoke:BananasArgs|has_fruit|Fred|bananas=5|cherries=7}}
function p.has_fruit(frame)
    local name = frame.args[1]
    local num_bananas = frame.args['bananas']
    local num_apples = frame.args['apples']
    local num_cherries = frame.args['cherries']
    local result = name .. ' has:'
    if num_bananas then result = result .. ' ' .. num_bananas .. ' bananas' end
    if num_apples then result = result .. ' ' .. num_apples .. ' apples' end
    if num_cherries then result = result .. ' ' .. num_cherries .. ' cherries' end
    return result
end

-- Iterating over args, used like: {{#invoke:BananasArgs|custom_fruit|pineapples=10|kiwis=5}}
function p.custom_fruit(frame)
    local result = 'I have:'
    for name, value in ipairs(frame) do
        result = result .. ' ' .. value .. ' ' .. name
    end
    return result
end

-- Iterating over args with separate mandatory args
-- Used like: {{#invoke:BananasArgs|custom_fruit_2|Fred|pineapples=10|kiwis=5}}
function p.custom_fruit_2(frame)
    local name = frame.args[1]
    local result = name .. ' has:'
    for name, value in ipairs(frame) do
        if name ~= 1 then
            result = result .. ' ' .. value .. ' ' .. name
        end
    end
    return result
end

return p