„Modul:DemoArgs“ – Versionsunterschied
Erscheinungsbild
[ungesichtete Version] | [ungesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
Zeile 5: | Zeile 5: | ||
local p = {} |
local p = {} |
||
-- Keine Argumente, Aufruf z. B.: {{#invoke:BananasArgs| |
-- Keine Argumente, Aufruf z. B.: {{#invoke:BananasArgs|Hallo_Welt}} |
||
function p. |
function p.Hallo_Welt() |
||
return "Hello, world!" |
return "Hello, world!" |
||
end |
end |
||
-- Ein Argument, Aufruf z. B.: {{#invoke:BananasArgs| |
-- Ein Argument, Aufruf z. B.: {{#invoke:BananasArgs|Hallo|Peter}} |
||
function p. |
function p.Hallo(frame) |
||
local name = frame.args[1] |
local name = frame.args[1] |
||
return " |
return "Hallo, " .. name .. "!" |
||
end |
end |
||
-- Zwei Argumente, Aufruf z. B.: {{#invoke:BananasArgs| |
-- Zwei Argumente, Aufruf z. B.: {{#invoke:BananasArgs|addiere|5|3}} |
||
function p. |
function p.addiere(frame) |
||
local num1 = tonumber(frame.args[1]) |
local num1 = tonumber(frame.args[1]) |
||
local num2 = tonumber(frame.args[2]) |
local num2 = tonumber(frame.args[2]) |
||
Zeile 23: | Zeile 23: | ||
end |
end |
||
-- Benannte Argumente, Aufruf z. B.: {{#invoke:BananasArgs| |
-- Benannte Argumente, Aufruf z. B.: {{#invoke:BananasArgs|Obstzaehlen|Bananen=5|Aepfel=3}} |
||
function p. |
function p.Obstzaehlen(frame) |
||
local |
local num_bananen = frame.args['Bananen'] |
||
local |
local num_aepfel = frame.args['Aepfel'] |
||
return ' |
return 'Ich habe ' .. num_bananen .. ' Bananen and ' .. num_aepfel .. ' Äpfel' |
||
end |
end |
||
-- Mischung aus regulären und benannten Argumenten und optionalen benannten Argumenten |
-- Mischung aus regulären und benannten Argumenten und optionalen benannten Argumenten |
||
-- Aufruf z. B.: {{#invoke:BananasArgs| |
-- Aufruf z. B.: {{#invoke:BananasArgs|Obstkorb|Peter|Bananen=5|Kirschen=7}} |
||
function p. |
function p.Obstkorb(frame) |
||
local name = frame.args[1] |
local name = frame.args[1] |
||
local |
local num_Bananen = frame.args['Bananen'] |
||
local |
local num_Aepfel = frame.args['Aepfel'] |
||
local |
local num_Kirschen = frame.args['Kirschen'] |
||
local result = name .. ' |
local result = name .. ' hat in seinem Obstkorb:' |
||
if |
if num_Bananen then result = result .. ' ' .. num_Bananen .. ' Bananen' end |
||
if |
if num_Aepfel then result = result .. ' ' .. num_Aepfel .. ' Äpfel' end |
||
if |
if num_Kirschen then result = result .. ' ' .. num_Kirschen .. ' Kirschen' end |
||
return result |
return result |
||
end |
end |
||
-- Iteration über die Argumente, Aufruf z. B.: {{#invoke:BananasArgs| |
-- Iteration über die Argumente, Aufruf z. B.: {{#invoke:BananasArgs|Obst1|Ananas=10|Kiwis=5}} |
||
function p. |
function p.Obst1(frame) |
||
local result = ' |
local result = 'Ich kaufe:' |
||
for name, value in pairs(frame.args) do |
for name, value in pairs(frame.args) do |
||
result = result .. ' ' .. value .. ' ' .. name |
result = result .. ' ' .. value .. ' ' .. name |
||
Zeile 55: | Zeile 55: | ||
-- Iteration über Argumente mit separaten Argumenten |
-- Iteration über Argumente mit separaten Argumenten |
||
-- Aufruf z. B.: {{#invoke:BananasArgs| |
-- Aufruf z. B.: {{#invoke:BananasArgs|Obst2|Peter|Ananas=10|Kiwis=5}} |
||
function p. |
function p.Obst2(frame) |
||
local name = frame.args[1] |
local name = frame.args[1] |
||
local result = name .. ' |
local result = name .. ' kauft:' |
||
for name, value in pairs(frame.args) do |
for name, value in pairs(frame.args) do |
||
if name ~= 1 then |
if name ~= 1 then |
Version vom 12. Mai 2013, 00:26 Uhr
Beispielmodul um darzustellen, wie man auf die Argumente zugreift. Für mehr zum Thema "Frame object", siehe http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Frame_object
Beispielaufrufe der Funktionen
Keine Argumente
{{#invoke:DemoArgs|Hallo_Welt}}
ergibt:
- Hello, world!
Ein Argument
{{#invoke:DemoArgs|Hallo|Peter}}
ergibt:
- Hallo, Peter!
Zwei Argumente
{{#invoke:DemoArgs|addiere|5|3}}
ergibt:
- 8
Benannte Argumente
{{#invoke:DemoArgs|Obstzaehlen|Bananen=5|Aepfel=3}}
ergibt:
- Ich habe 5 Bananen and 3 Äpfel
Mischung aus regulären und benannten Argumenten und optionalen benannten Argumenten
{{#invoke:DemoArgs|Obstkorb|Peter|Bananen=5|Kirschen=7}}
ergibt:
- Peter hat in seinem Obstkorb: 5 Bananen 7 Kirschen
Iteration über die Argumente
{{#invoke:DemoArgs|Obst1|Ananas=10|Kiwis=5}}
ergibt:
- Ich kaufe: 5 Kiwis 10 Ananas
Iteration über Argumente mit separaten Argumenten
{{#invoke:DemoArgs|Obst2|Peter|Ananas=10|Kiwis=5}}
ergibt:
- Peter kauft: 5 Kiwis 10 Ananas
-- Beispielmodul um darzustellen, wie man auf die Argumente zugreift.
-- Für mehr zum Thema "Frame object", siehe http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Frame_object
-- Aufrufe mit entsprechender Vorlage
local p = {}
-- Keine Argumente, Aufruf z. B.: {{#invoke:BananasArgs|Hallo_Welt}}
function p.Hallo_Welt()
return "Hello, world!"
end
-- Ein Argument, Aufruf z. B.: {{#invoke:BananasArgs|Hallo|Peter}}
function p.Hallo(frame)
local name = frame.args[1]
return "Hallo, " .. name .. "!"
end
-- Zwei Argumente, Aufruf z. B.: {{#invoke:BananasArgs|addiere|5|3}}
function p.addiere(frame)
local num1 = tonumber(frame.args[1])
local num2 = tonumber(frame.args[2])
return num1 + num2
end
-- Benannte Argumente, Aufruf z. B.: {{#invoke:BananasArgs|Obstzaehlen|Bananen=5|Aepfel=3}}
function p.Obstzaehlen(frame)
local num_bananen = frame.args['Bananen']
local num_aepfel = frame.args['Aepfel']
return 'Ich habe ' .. num_bananen .. ' Bananen and ' .. num_aepfel .. ' Äpfel'
end
-- Mischung aus regulären und benannten Argumenten und optionalen benannten Argumenten
-- Aufruf z. B.: {{#invoke:BananasArgs|Obstkorb|Peter|Bananen=5|Kirschen=7}}
function p.Obstkorb(frame)
local name = frame.args[1]
local num_Bananen = frame.args['Bananen']
local num_Aepfel = frame.args['Aepfel']
local num_Kirschen = frame.args['Kirschen']
local result = name .. ' hat in seinem Obstkorb:'
if num_Bananen then result = result .. ' ' .. num_Bananen .. ' Bananen' end
if num_Aepfel then result = result .. ' ' .. num_Aepfel .. ' Äpfel' end
if num_Kirschen then result = result .. ' ' .. num_Kirschen .. ' Kirschen' end
return result
end
-- Iteration über die Argumente, Aufruf z. B.: {{#invoke:BananasArgs|Obst1|Ananas=10|Kiwis=5}}
function p.Obst1(frame)
local result = 'Ich kaufe:'
for name, value in pairs(frame.args) do
result = result .. ' ' .. value .. ' ' .. name
end
return result
end
-- Iteration über Argumente mit separaten Argumenten
-- Aufruf z. B.: {{#invoke:BananasArgs|Obst2|Peter|Ananas=10|Kiwis=5}}
function p.Obst2(frame)
local name = frame.args[1]
local result = name .. ' kauft:'
for name, value in pairs(frame.args) do
if name ~= 1 then
result = result .. ' ' .. value .. ' ' .. name
end
end
return result
end
return p