Moduł:Banany/argumenty
Wygląd
Przykładowy moduł demonstrujący, w jaki sposób uzyskać dostęp do argumentów.
Przykład | Rezultat |
---|---|
{{#invoke:Banany/argumenty|hello_world}}
|
Witaj, świecie! |
{{#invoke:Banany/argumenty|hello|Fred}}
|
Witaj, Fred! |
{{#invoke:Banany/argumenty|dodaj|5|3}}
|
8 |
{{#invoke:Banany/argumenty|policz_owoce|banany=5|jablka=3}}
|
Mam 5 bananów i 3 jabłek |
{{#invoke:Banany/argumenty|ma_owoce|Fred|banany=5|wisnie=7}}
|
Fred ma: 5 bananów 7 wiśni |
{{#invoke:Banany/argumenty|niestandardowy_owoc|ananasy=10|kiwi=5}}
|
Mam: 10 ananasy 5 kiwi |
{{#invoke:Banany/argumenty|niestandardowy_owoc_2|Fred|ananasy=10|kiwi=5}}
|
Fred ma: 10 ananasy 5 kiwi |
Zobacz też[edytuj kod]
Powyższy opis jest dołączany ze strony Moduł:Banany/argumenty/opis. (edytuj | historia)
Zobacz podstrony tego modułu. |
-- Przykładowy moduł demonstrujący, w jaki sposób uzyskać dostęp do argumentów.
-- Po więcej informacji nt/ obiektu Frame, zobacz http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Frame_object
local p = {}
-- Bez argumentów, używany w następujący sposób: {{#invoke:Banany/argumenty|hello_world}}
function p.hello_world()
return "Witaj, świecie!"
end
-- Jeden argument, używany w następujący sposób: {{#invoke:Banany/argumenty|hello|Fred}}
function p.hello(frame)
local name = frame.args[1] -- w tym przykładzie, args[1] to słowo Fred
return "Witaj, " .. name .. "!" -- ".. name .." zastępowane jest słowem Fred
end
-- Dwa argumenty, używane w następujący sposób: {{#invoke:Banany/argumenty|dodaj|5|3}}
function p.dodaj(frame)
local num1 = tonumber(frame.args[1])
local num2 = tonumber(frame.args[2])
return num1 + num2
end
-- Nazwane argumenty, używane w następujący sposób: {{#invoke:Banany/argumenty|policz_owoce|banany=5|jablka=3}}
function p.policz_owoce(frame)
local num_banany = frame.args.banany
local num_jablka = frame.args.jablka
return 'Mam ' .. num_banany .. ' bananów i ' .. num_jablka .. ' jabłek'
end
-- Mieszanie regularnych argumentów z argumentami nazwanymi i opcjonalnymi argumentami nazwanymi
-- Używane w następujący sposób: {{#invoke:Banany/argumenty|ma_owoce|Fred|banany=5|wisnie=7}}
function p.ma_owoce(frame)
local name = frame.args[1]
local num_banany = frame.args.banany
local num_jablka = frame.args.jablka
local num_wisnie = frame.args.wisnie
local result = name .. ' ma:'
if num_banany then result = result .. ' ' .. num_banany .. ' bananów' end
if num_jablka then result = result .. ' ' .. num_jablka .. ' jabłek' end
if num_wisnie then result = result .. ' ' .. num_wisnie .. ' wiśni' end
return result
end
-- Iteracja nad argumentami; używane w następujący sposób: {{#invoke:Banany/argumenty|niestandardowy_owoc|ananasy=10|kiwi=5}}
function p.niestandardowy_owoc(frame)
local result = 'Mam:'
for name, value in pairs(frame.args) do
result = result .. ' ' .. value .. ' ' .. name
end
return result
end
-- Iteracja nad argumentami z oddzielnymi, obowiązkowymi argumentami
-- Używane w następujący sposób: {{#invoke:Banany/argumenty|niestandardowy_owoc_2|Fred|ananasy=10|kiwi=5}}
function p.niestandardowy_owoc_2(frame)
local name = frame.args[1]
local result = name .. ' ma:'
for name, value in pairs(frame.args) do
if name ~= 1 then
result = result .. ' ' .. value .. ' ' .. name
end
end
return result
end
return p