모듈:Check for unknown parameters: 두 판 사이의 차이

316 바이트 추가됨 ,  2015년 8월 3일 (월)
편집 요약 없음
(새 문서: -- 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 = {} l...)
 
편집 요약 없음
17번째 줄: 17번째 줄:


local res = {}
local res = {}
local regexps = {}
local comments = {}
local comments = {}
local commentstr = ''
local commentstr = ''
-- create the list of known args, and the return string
-- create the list of known args, regular expressions, and the return string
for k, v in pairs(args) do
for k, v in pairs(args) do
if type(k) == 'number' then
if type(k) == 'number' then
28번째 줄: 29번째 줄:
if (k == 'unknown' and type(v) == 'string') then
if (k == 'unknown' and type(v) == 'string') then
unknown = v
unknown = v
elseif (mw.ustring.match(k, '^regexp[%d]*$') and type(v) == 'string') then
table.insert(regexps, '^' .. v .. '$')
end
end
end
end
35번째 줄: 38번째 줄:
for k,v in pairs(pargs) do
for k,v in pairs(pargs) do
if (type(k) == 'string' and knownargs[k] == nil) then
if (type(k) == 'string' and knownargs[k] == nil) then
if( (not ignoreblank) or (ignoreblank and isnotempty(v)) ) 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\-_ ]', '?')
k = mw.ustring.gsub(k, '[^%w\-_ ]', '?')
local r = mw.ustring.gsub(unknown, '_VALUE_', k)
local r = mw.ustring.gsub(unknown, '_VALUE_', k)
익명 사용자