Módulo:BananasArgs
Aspeto
Descrição
[editar código-fonte]Examplo | Resultado |
{{#invoke:BananasArgs|hello_world}}
|
Hello, world! |
{{#invoke:BananasArgs|hello|Fred}}
|
Óla, Fred! |
{{#invoke:BananasArgs|add|5|3}}
|
8 |
{{#invoke:BananasArgs|count_fruit|bananas=5|apples=3}}
|
I have 5 bananas e 3 maças |
{{#invoke:BananasArgs|has_fruit|Fred|bananas=5|cherries=7}}
|
Fred tem: 5 bananas 7 cerejas |
{{#invoke:BananasArgs|custom_fruit|ananás=10|kiwis=5}}
|
Eu tenho: 10 ananás 5 kiwis |
{{#invoke:BananasArgs|custom_fruit_2|Fred|ananás=10|kiwis=5}}
|
Fred tem: 10 ananás 5 kiwis |
Ver também
[editar código-fonte]
-- 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
-- Unit tests at Módulo:BananasArgs/Testes
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] -- in this example, args[1] is the word Fred
return "Óla, " .. name .. "!" -- .. name .. replace by the word Fred
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 e ' .. num_apples .. ' maças'
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 .. ' tem:'
if num_bananas then result = result .. ' ' .. num_bananas .. ' bananas' end
if num_apples then result = result .. ' ' .. num_apples .. ' maças' end
if num_cherries then result = result .. ' ' .. num_cherries .. ' cerejas' end
return result
end
-- Iterating over args, used like: {{#invoke:BananasArgs|custom_fruit|pineapples=10|kiwis=5}}
function p.custom_fruit(frame)
local result = 'Eu tenho:'
for name, value in pairs(frame.args) 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 .. ' tem:'
for name, value in pairs(frame.args) do
if name ~= 1 then
result = result .. ' ' .. value .. ' ' .. name
end
end
return result
end
return p