Modul:Arguments/dok
Ovaj modul omogućava lahko procesiranje argumenata koji prolaze kroz #invoke
. Ovo je meta-modul, što znači da je napravljen da se koristi u drugim modulima i da se nebi trebao koristiti preko #invoke
direktno. Funkcije ovog modula su u među ostalom:
- Skraćivanje argumenata i uklanjanje praznih argumenata.
- Argumenti se mogu poslati kroz trenutni okvir (= frame) i preko okvira roditelja istovremeno. (više detalja ispod)
- Argumenti se mogu poslati direktno preko druge Lua module ili preko konzole za pronalaženje grešaka u kodu.
- Argumenti se mogu učitati po potrebi, što pomaže da se izbjegnu (neki) problemi sa
<ref>...</ref>
oznakama. - Većina funkcija se može podesiti.
Osnovno korištenje
urediPrvo je potrebno učitati modul. Koristi se jedna funkcija sa imenom getArgs
.
local getArgs = require('Module:Arguments').getArgs
U najjednostavnijem scenariju getArgs
se može koristiti u main
funkciji. Promjenljiva args
je tabela koja sadrži argumente od #invoke
-a.
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.main(frame)
local args = getArgs(frame)
-- Glavni kod modula ide ovdje.
end
return p
Međutim, preporučeno je koristiti funkciju samo za procesiranje argumenata kroz #invoke
. Ovo znači da ako neko pozove tvoj modul preko druge Lua module, onda nije potrebno imati okvirni objekat, poboljšavajući brzinu izvršenja.
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
-- Glavni kod modula ide ovdje.
end
return p
Ako želiš da više funkcija koriste argumente, i ako je potrebno da su oni dostpuni preko #invoke
-a, onda se može koristiti omotna funkcija.
local getArgs = require('Module:Arguments').getArgs
local function makeInvokeFunc(funcName)
return function (frame)
local args = getArgs(frame)
return p[funcName](args)
end
end
local p = {}
p.func1 = makeInvokeFunc('_func1')
function p._func1(args)
-- Kod za prvu funkciju ide ovdje.
end
p.func2 = makeInvokeFunc('_func2')
function p._func2(args)
-- Kod za drugu funkciju ide ovdje.
end
return p
Opcije
urediDostupne su sljdeće opcije.
local args = getArgs(frame, {
trim = false,
removeBlanks = false,
valueFunc = function (key, value)
-- Kod za procesiranje jednog argumenta
end,
frameOnly = true,
parentOnly = true,
parentFirst = true,
readOnly = true,
noOverwrite = true
})
Skraćivanje i uklanjanje praznih argumenata
urediOvaj odlomak nije preveden ili je djelimično preveden. |
Ovo je stranica dokumentacije za Modul:Arguments