มีการใช้มอดูลนี้ประมาณ 147,000 หน้า เพื่อหลีกเลี่ยงผลกระทบกว้างขวางและลดภาระของเซิร์ฟเวอร์ ดังนั้นก่อนแก้ไขมอดูลนี้จึงควรทดลองที่ หรือ หรือในมอดูลกระบะทรายของคุณเองจนมั่นใจว่าไม่มีข้อผิดพลาด อนึ่ง อภิปรายเกี่ยวกับการแก้ไขมอดูลได้ที่ก่อนที่จะนำไปใช้ |
มอดูลนี้ขึ้นอยู่กับมอดูลอื่น ๆ ดังต่อไปนี้ |
การใช้งาน
{{#invoke:ตรวจสอบพารามิเตอร์ที่ไม่รู้จัก|function_name}}
ดูเพิ่ม
- (13) (หน้าหมวดหมู่สามารถมีส่วนหัว {{}})
- มอดูล:Check for deprecated parameters – มอดูลที่คล้ายกันที่ตรวจสอบพารามิเตอร์ที่เลิกใช้แล้ว
- มอดูล:Check for clobbered parameters – มอดูลที่ตรวจสอบพารามิเตอร์ที่ขัดแย้งกัน
- มอดูล:TemplatePar – ฟังก์ชันที่คล้ายกัน (ต้นฉบับจากวิกิภาษาเยอรมัน)
- และ – สร้างรายชื่อพารามิเตอร์สำหรับแม่แบบที่กำหนด
- การตรวจสอบพารามิเตอร์ตามแม่แบบ
- มอดูล:Parameter validation ตรวจสอบหลายอย่าง
คู่มือการใช้งานที่ปรากฏด้านบนนี้ดึงมาจาก (มอดูล:ตรวจสอบพารามิเตอร์ที่ไม่รู้จัก/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('มอดูล: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
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
khumuxkarichnganmxdul du aek prawti langaekhch mikarichmxdulnipraman 147 000 hna ephuxhlikeliyngphlkrathbkwangkhwangaelaldpharakhxngesirfewxr dngnnkxnaekikhmxdulnicungkhwrthdlxngthi hrux hruxinmxdulkrabathraykhxngkhunexngcnmnicwaimmikhxphidphlad xnung xphiprayekiywkbkaraekikhmxdulidthikxnthicanaipichmxdulnikhunxyukbmxdulxun dngtxipnimxdul If previewkarichngan invoke trwcsxbpharamietxrthiimruck function name duephim hmwdhmu pharamietxrthiimruck 13 hnahmwdhmusamarthmiswnhw hmwdhmupharamietxrthiimruck mxdul Check for deprecated parameters mxdulthikhlayknthitrwcsxbpharamietxrthielikichaelw mxdul Check for clobbered parameters mxdulthitrwcsxbpharamietxrthikhdaeyngkn mxdul TemplatePar fngkchnthikhlaykn tnchbbcakwikiphasaeyxrmn aela srangraychuxpharamietxrsahrbaemaebbthikahnd kartrwcsxbpharamietxrtamaemaebb mxdul Parameter validation trwcsxbhlayxyangkhumuxkarichnganthipraktdanbnnidungmacak mxdul trwcsxbpharamietxrthiimruck doc aek prawti phuekhiynsamarththakarthdlxngidthikrabathray srang khdlxk aelachudthdsxb srang khxngmxdulni hnayxykhxngmxdulni 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 gt 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 amp lt tag amp gt amp lt tag amp gt 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 gt 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 mxdul 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