Check For Unknown Parameters

이 모듈의 자세한 설명은 en:Module:Check_for_unknown_parameters/doc 항목을 참고하십시오.

-- 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 trim(s) return s:match('^%s*(.-)%s*$') end  local function isnotempty(s) return s and s:match('%S') end  local function clean(text) -- Return text cleaned for display and truncated if too long. -- Strip markers are replaced with dummy text representing the original wikitext. local pos, truncated local function truncate(text) if truncated then return '' end if mw.ustring.len(text) > 25 then truncated = true text = mw.ustring.sub(text, 1, 25) .. '...' end return mw.text.nowiki(text) end local parts = {} for before, tag, remainder in text:gmatch('([^\127]*)\127[^\127]*%-(%l+)%-[^\127]*\127()') do pos = remainder table.insert(parts, truncate(before) .. '<' .. tag .. '>...</' .. tag .. '>') end table.insert(parts, truncate(text:sub(pos or 1))) return table.concat(parts) end  function p._check(args, pargs) if type(args) ~= "table" or type(pargs) ~= "table" then -- TODO: error handling return end  -- create the list of known args, regular expressions, and the return string local knownargs = {} local regexps = {} for k, v in pairs(args) do if type(k) == 'number' then v = trim(v) knownargs[v] = 1 elseif k:find('^regexp[1-9][0-9]*$') then table.insert(regexps, '^' .. v .. '$') end end  -- loop over the parent args, and make sure they are on the list local ignoreblank = isnotempty(args['ignoreblank']) local showblankpos = isnotempty(args['showblankpositional']) local values = {} for k, v in pairs(pargs) do if type(k) == 'string' and knownargs[k] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(k, regexp) then knownflag = true break end end if not knownflag and ( not ignoreblank or isnotempty(v) )  then table.insert(values, clean(k)) end elseif type(k) == 'number' and knownargs[tostring(k)] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(tostring(k), regexp) then knownflag = true break end end if not knownflag and ( showblankpos or isnotempty(v) ) then table.insert(values, k .. ' = ' .. clean(v)) end end end  -- add results to the output tables local res = {} if #values > 0 then local unknown_text = args['unknown'] or 'Found _VALUE_, '  if mw.getCurrentFrame():preprocess( "{{REVISIONID}}" ) == "" then local preview_text = args['preview'] if isnotempty(preview_text) then preview_text = require('Module:If preview')._warning({preview_text}) elseif preview == nil then preview_text = unknown_text end unknown_text = preview_text end for _, v in pairs(values) do -- Fix odd bug for | = which gets stripped to the empty string and -- breaks category links if v == '' then v = ' ' end  -- avoid error with v = 'example%2' ("invalid capture index") local r = unknown_text:gsub('_VALUE_', {_VALUE_ = v}) table.insert(res, r) end end  return table.concat(res) end  function p.check(frame) local args = frame.args local pargs = frame:getParent().args return p._check(args, pargs) end  return p 

Tags:

en:Module:Check for unknown parameters/doc

🔥 Trending searches on Wiki 한국어:

이선균아이폰세계 4대 문명사이버 폭력마녀의 게임극성 (화학)대한민국 예비군쌍곡선 함수대한민국 축구 국가대표팀 감독과 수석코치 명단국제 기념일수소이강인최강욱신성한, 이혼 (드라마)전광훈서브프라임 모기지 사태이채영 (배우)뉴턴 (단위)김민재 (축구 선수)대전광역시제곱킬로미터문제 해결카지노 (드라마)정약용한국방송공사FIFA 월드컵제주 4·3 사건새마을금고중앙회장원영에펨코리아이다해서준영한국의 역사김정은김은숙 (작가)물의 증기압네이버 뉴스캐나다애플주키니호박아모르 파티캄보디아보스턴 교살자HTTP 상태 코드마리 퀴리정승연만유인력의 법칙마제소바빌 게이츠토성질병 목록다이클로로메테인UEFA 유로 2024 예선대한항공단백질1999년유인태SBS 금토 드라마튀르키예나무위키송해말레이시아수산화 나트륨벤저민 해리슨유상범 (1966년)펠라티오임진왜란장동윤이도현 (1995년)이재명웬디 (가수)화성칼슘대한민국 축구 국가대표팀안문숙방용훈셀룰로스🡆 More