Mòdul:Check for unknown parameters

Icona de documentació de mòdul Documentació del mòdul [ mostra ] [ modifica el codi ] [ mostra l'historial ] [ refresca ]

Mòdul Check for unknown parameters (codi · ús · discussió · proves · tests · casos prova | subpàgines · enllaços)

A continuació es mostra la documentació transclosa de la subpàgina /ús. [salta a la caixa de codi]


-- Aquest mòdul pot ser utilitzat per comparar els arguments passats al pare-- una llista d'arguments, que retorna un resultat determinat si un argument no-- és a la llista-- Versió copiada de la Viquipèdia en anglès.local p = {}local function isnotempty(s)return s and s:match( '^%s*(.-)%s*$' ) ~= ''endfunction p.check (frame)local args = frame.argslocal pargs = frame:getParent().argslocal ignoreblank = isnotempty(frame.args['ignoreblank'])local knownargs = {}local unknown = 'Found _VALUE_, 'local res = {}-- create the list of known args, and the return stringfor k, v in pairs(args) doif type(k) == 'number' thenv = mw.ustring.gsub(v, '^%s*(.-)%s*$', '%1')knownargs[v] = 1elseif (k == 'unknown' and type(v) == 'string') thenunknown = vendendend-- loop over the parent args, and make sure they are on the listfor k,v in pairs(pargs) doif (knownargs[k] == nil and type(k) == 'string') thenif( (not ignoreblank) or (ignoreblank and isnotempty(v)) ) thenk = mw.ustring.gsub(k, '[^%w\-_ ]', '?')local r = mw.ustring.gsub(unknown, '_VALUE_', k)table.insert(res, r)endendendreturn table.concat(res)endreturn p