Modul:PenselArgs
Pendokumenan untuk modul ini boleh diciptakan di Modul:PenselArgs/doc
-- Modul contoh untuk menunjukkan bagaimana mencapai argumen
-- Maklumat lanjut tentang objek Frame dapat dilihat di http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Frame_object
-- Ujian unit di Modul:PenselArgs/ujian
local p = {}
-- Tiada argumen, digunakan seperti: {{#invoke:PenselArgs|helo_dunia}}
function p.helo_dunia()
return "Helo, dunia!"
end
-- Satu argumen, digunakan seperti: {{#invoke:PenselArgs|helo|Mat}}
function p.helo(frame)
local name = frame.args[1] -- dalam contoh ini, args[1] ialah kata Mat
return "Helo, " .. name .. "!" -- .. name .. diganti oleh kata Mat
end
-- Dua argumen, digunakan seperti: {{#invoke:PenselArgs|add|5|3}}
function p.add(frame)
local num1 = tonumber(frame.args[1])
local num2 = tonumber(frame.args[2])
return num1 + num2
end
-- Argumen yang diberikan nama, digunakan seperti: {{#invoke:PenselArgs|bilang_buah|pisang=5|ciku=3}}
function p.bilang_buah(frame)
local bil_pisang = frame.args.pisang
local bil_ciku = frame.args.ciku
return 'Saya ada ' .. bil_pisang .. ' sikat pisang dan ' .. bil_ciku .. ' biji ciku'
end
-- Mencampur arg biasa dengan arg bernama dan arg bernama pilihan
-- Digunakan seperti: {{#invoke:PenselArgs|ada_buah|Upin|pisang=5|belimbing=7}}
function p.ada_buah(frame)
local nama = frame.args[1]
local bil_pisang = frame.args.pisang
local bil_ciku = frame.args.ciku
local bil_belimbing = frame.args.belimbing
local hasil = nama .. ' memiliki:'
if bil_pisang then hasil = hasil .. ' ' .. bil_pisang .. ' pisang' end
if bil_ciku then hasil = hasil .. ' ' .. bil_ciku .. ' ciku' end
if bil_belimbing then hasil = hasil .. ' ' .. bil_belimbing .. ' belimbing' end
return hasil
end
-- Pelelaran arg, digunakan seperti: {{#invoke:PenselArgs|khas_buah|nenas=10|limau=5}}
function p.khas_buah(frame)
local hasil = 'Ipin ada:'
for name, value in pairs(frame.args) do
hasil = hasil .. ' ' .. value .. ' ' .. name
end
return hasil
end
-- Pelelaran arg dengan arg terpisah yang wajib
-- Digunakan seperti: {{#invoke:PenselArgs|khas_buah_2|'Kak Ros'|nenas=10|limau=5}}
function p.khas_buah_2(frame)
local nama = frame.args[1]
local hasil = nama .. ' memakan:'
for nama, nilai in pairs(frame.args) do
if nama ~= 1 then
hasil = hasil .. ' ' .. nilai .. ' ' .. nama
end
end
return hasil
end
return p