Check For Unknown Parameters

This page is not available in other languages.

Documentation icon މޮޑިއުލް ޑޮކިއުމަންޓޭޝަން
-- This module may be used to compare the arguments passed to the parent -- with a list of arguments, returning a specified result if an argument is -- not on the list local p = {}  local function isnotempty(s) return s and s:match( '^%s*(.-)%s*$' ) ~= '' end  function p.check (frame) local args = frame.args local pargs = frame:getParent().args local ignoreblank = isnotempty(frame.args['ignoreblank']) local checkpos = isnotempty(frame.args['checkpositional']) local knownargs = {} local unknown = 'Found _VALUE_, '  local res = {} local regexps = {} local comments = {} local commentstr = ''  -- create the list of known args, regular expressions, and the return string for k, v in pairs(args) do if type(k) == 'number' then v = mw.ustring.gsub(v, '^%s*(.-)%s*$', '%1') knownargs[v] = 1 else if (k == 'unknown' and type(v) == 'string') then unknown = v elseif (mw.ustring.match(k, '^regexp[%d]*$') and type(v) == 'string') then table.insert(regexps, '^' .. v .. '$') end end end  -- loop over the parent args, and make sure they are on the list for k,v in pairs(pargs) do if (type(k) == 'string' and knownargs[k] == nil) then local knownflag = nil for r = 1,#regexps do if( mw.ustring.match(k,regexps[r]) ) then knownflag = 1 end end if( (not knownflag) and ( (not ignoreblank) or (ignoreblank and isnotempty(v)) ) ) then k = mw.ustring.gsub(k, '[^%w\-_ ]', '?') local r = mw.ustring.gsub(unknown, '_VALUE_', k) table.insert(res, r) table.insert(comments, '"' .. k .. '"') end elseif(checkpos and type(k) == 'number' and knownargs[tostring(k)] == nil) then if( (not ignoreblank) or (ignoreblank and isnotempty(v)) ) then local r = mw.ustring.gsub(unknown, '_VALUE_', k) table.insert(res, r) table.insert(comments, '"' .. k .. '"') end end end  if(#comments > 0) then commentstr = '' end  return table.concat(res) .. commentstr end  return p 

Tags:

🔥 Trending searches on Wiki ދިވެހިބަސް:

ޢަބުދުލް މަޖީދު ޢަބުދުލް ބާރީSay it in Dhivehi/Mahlގަހަވީ އިލްމުFAQs on composing Thaana on the computerނިއުމޯނިޔާބޮޑު ގޮހޮރުއޮގަސްޓު 8ސުނާމީޢަބްދުލްމަޖީދު ރަންނަބަނޑޭރި ކިލެގެފާނުއިސްޕެނިޝްނީލަ ކޯރުގޫގްލްއެވޭލާއަކުރުމާރޗް 16ތާނަ އަލިފުބާގެ ތަރުތީބުމެލޭރިޔާއުމަވީ ދައުލަތްފަލަކީ އިލްމުHow to read Thaana scriptޙުސައިން އިބުނު ޢަލީމެއި 25އޮކްޓޫބަރު 5އީރާންއުސްމިންތައުހީދްއިބްނި ބަޠޫޠާއެންޓިގުއާ އަދި ބާބިއުޑާTāna Supportމާލެ އަތޮޅުHenry A. Wallaceސިކުނޑި ބަދަންހއ.އަތޮޅު ތަޢުލީމީ މަރުކަޒުމައުރިބުޕީރިއަޑިކް ތާވަލުބަސްއުރުގުއޭ2005ޖުމުލަ އަކަމިނަށް ބަލައިގެން ތަރުތީބުކުރެވިފައިވާ ޤައުމުތަކުގެ ލިސްޓުއިބްރާހިމް ޝިހާބްއަކަކިލޯމީޓަރުއިރަވީ ނިޒާމުލޭދައުރުކުރާ ނިޒާމްމާރޗް 6އެޕްރީލް 26ސުލްޠާން ޙަސަން ނޫރައްދީން (ދެވަނަ)ޖެނުއަރީވިކިޕީޑިޔާރެހެނދި ޚަދީޖާމުހައްމަދު އަމީން ދޮށިމޭނާ ކިލެގެފާނުސާބިއާފެބްރުއަރީ 26އޮޅުދޫކަރަދޮންދީނިމައިކްރޯސޮފްޓްޖިމީ ވޭލްސްޖޫން 21ގުރަހަސެޕްޓެމްބަރު 1ފުފޫބައިބަލްމައި ޞަފްޙާމޮސްކޯޝަހީދު ޙުސައިން އާދަމްޒިމްބާބުވޭމޫސާ ފަތުޙީމާރޗް 7ދިވެހި ދަޢުލަތުގެ ނިޝާންތިލެޔޮއިންޑިޔާމޫސާގެފާނުއިބްރާހީމް ނާޞިރުމެއި 14🡆 More