Modul:BanánokArgumentumok
Megjelenés
BanánokArgumentumok[mi ez?] • [dokumentáció: mutat, ] • [tesztek: létrehozás]
A frame egy tábla. Ezen belül van egy args nevű táblán belüli tábla. Az argumentumok elérésére ez a modul mutat be ajánlott módszereket és ezeket szemlélteti is. A teszt egyszerűen a vitalapra kattintással indul el.
-- Egyszerű modul, amely demonstrálja, hogya érük al a frame argumentumokat
-- Magáról a Frame objektumról szól: http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Frame_object
-- Unit tesztelése a Modul:BananánokArgumentumok/tesztdoboz-ban
local p = {}
-- Ha nincs argumentum, akkor így használjuk: {{#invoke:BanánokArgumentumok|hello_vilag}}
function p.hello_vilag()
return "Hello, világ!"
end
-- egy argumentummal így használjuk: {{#invoke:BanánokArgumentumok|hello|Fred}}
function p.hello(frame)
local name = frame.args[1]
return "Hello, " .. name .. "!"
end
-- Két argumentummal így használjuk: {{#invoke:BanánokArgumentumok|add|5|3}}
function p.add(frame)
local num1 = tonumber(frame.args[1])
local num2 = tonumber(frame.args[2])
return num1 + num2
end
-- Névvel adott argumentummal így használjuk: {{#invoke:BanánokArgumentumok|gyumolcsszamlalas|banánból=5|almából=3}}
function p.gyumolcsszamlalas(frame)
local num_bananas = frame.args['banánból']
local num_apples = frame.args['almából']
return 'Van ' .. num_bananas .. ' banánom és ' .. num_apples .. ' almám'end
-- Reguláris argumentumok és nevesítettek, ill. opcionálisan nevesítettek keverése
-- így használjuk: {{#invoke:BanánokArgumentumok|gyumolcsei|Feri|banánból=5|cseresznyéből=7}}
function p.gyumolcsei(frame)
local name = frame.args[1]
local num_bananas = frame.args['banánból']
local num_apples = frame.args['almából']
local num_cherries = frame.args['cseresznyéből']
local result = name .. 'nek van:'
if num_bananas then result = result .. ' ' .. num_bananas .. ' banánja' end
if num_apples then result = result .. ' ' .. num_apples .. ' almája' end
if num_cherries then result = result .. ' ' .. num_cherries .. ' cseresznyéje' end
return result
end
-- így iterálunk a frame.args táblában:
-- {{#invoke:BanánokArgumentumok|gyumolcsok_fogyasztasa|szilva=10|kivi=5}}
function p.gyumolcsok_fogyasztasa(frame)
local result = 'Amim van az:'
for name, value in pairs(frame.args) do
result = result .. ' ' .. value .. ' ' .. name
end
return result
end
-- iterálás szeparált, kötelező argumentumokon így megy:
-- {{#invoke:BanánokArgumentumok|gyumolcsok_fogyasztasa_2|Feri|szilva=10|kivi=5}}
function p.gyumolcsok_fogyasztasa_2(frame)
local name = frame.args[1]
local result = name .. ' gyümölcsei:'
for name, value in pairs(frame.args) do
if name ~= 1 then
result = result .. ' ' .. value .. ' ' .. name
end
end
return result
end
return p