Modulo:ProvuArgumentojn
Aspekto
[antaŭrigardi] [redakti] [historio] [renovigi]
Dokumentado
Ŝablona programado | Diskutoj | Lua | Testoj | Subpaĝoj | ||||
---|---|---|---|---|---|---|---|---|
Modulo | Esperanto | English | Deutsch
|
Modulo: | Dokumentado |
Se vi havas demandon pri ĉi tiu Lua-modulo, tiam vi povas demandi en la diskutejo pri Lua-moduloj. La Intervikiaj ligiloj estu metataj al Vikidatumoj. (Vidu Helpopaĝon pri tio.) |
|
-- Ekzempla modulo por demonstri, kiel oni aliras al la argumentoj.
-- Por pli pri la temo "Frame object", vidu http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Frame_object
-- Alvokoj per koncerna ŝablono
local p = {}
-- Neniuj argumentoj, alvoko ekz.: {{#invoke:ProvuArgumentojn|Halo_mondo}}
function p.Halo_mondo()
return "Hello, world!"
end
-- Unu argumento, alvoko ekz.: {{#invoke:ProvuArgumentojn|Halo|Petro}}
function p.Halo(frame)
local name = frame.args[1]
return "Halo, " .. name .. "!"
end
-- Du argumentoj, alvoko ekz.: {{#invoke:ProvuArgumentojn|Adiciu|5|3}}
function p.Adiciu(frame)
local num1 = tonumber(frame.args[1])
local num2 = tonumber(frame.args[2])
return num1 + num2
end
-- Nomataj argumentoj, ekz z. B.: {{#invoke:ProvuArgumentojn|Fruktonombrado|bananoj=5|pomoj=3}}
function p.Fruktonombrado(frame)
local num_bananoj = frame.args['bananoj']
local num_pomoj = frame.args['pomoj']
return 'Mi havas ' .. num_bananoj .. ' bananojn kaj ' .. num_pomoj .. ' pomojn'
end
-- Mikso el regulaj kaj nomataj argumentoj kaj nedevigaj nomataj argumentoj
-- Alvoko ekz.: {{#invoke:ProvuArgumentojn|Fruktokorbo|Petro|bananoj=5|ĉerizoj=7}}
function p.Fruktokorbo(frame)
local name = frame.args[1]
local num_bananoj = frame.args['bananoj']
local num_pomoj = frame.args['pomoj']
local num_cherizoj = frame.args['ĉerizoj']
local result = name .. ' havas en sia fruktokorbo:'
if num_bananoj then result = result .. ' ' .. num_bananoj .. ' bananojn' end
if num_pomoj then result = result .. ' ' .. num_pomoj .. ' pomojn' end
if num_cherizoj then result = result .. ' ' .. num_cherizoj .. ' ĉerizojn' end
return result
end
-- Iteracio tra la argumentoj, alvoko ekz.: {{#invoke:ProvuArgumentojn|Frukto1|ananasojn=10|kiviojn=5}}
function p.Frukto1(frame)
local result = 'Mi aĉetas:'
for name, value in pairs(frame.args) do
result = result .. ' ' .. value .. ' ' .. name
end
return result
end
-- Iteracio tra argumentoj kun apartaj argumentoj
-- Alvoko ekz.: {{#invoke:ProvuArgumentojn|Frukto2|Petro|ananasojn=10|kiviojn=5}}
function p.Frukto2(frame)
local name = frame.args[1]
local result = name .. ' aĉetas:'
for name, value in pairs(frame.args) do
if name ~= 1 then
result = result .. ' ' .. value .. ' ' .. name
end
end
return result
end
return p