コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
最近の更新
おまかせ表示
新規ページ作成
内部リンク
縣陵事典
外部リンク
縣陵百科
Re-Agatadia
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
ログアウトした編集者のページ
もっと詳しく
投稿記録
トーク
「
モジュール:Check for unknown parameters
」を編集中
モジュール
議論
English
閲覧
ソースを編集
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを編集
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
特別ページ
最近の更新
表示
サイドバーに移動
非表示
2025年5月29日 (木) 17:16時点における
Szkt
(
トーク
|
投稿記録
)
による版
(1版 をインポートしました)
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
-- 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 local ignoreblank = isnotempty(args['ignoreblank']) local showblankpos = isnotempty(args['showblankpositional']) local knownargs = {} local unknown = args['unknown'] or 'Found _VALUE_, ' local preview = args['preview'] local values = {} local res = {} local regexps = {} -- 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 = trim(v) knownargs[v] = 1 elseif k:find('^regexp[1-9][0-9]*$') then table.insert(regexps, '^' .. v .. '$') end end if isnotempty(preview) then preview = '<div class="hatnote" style="color:red"><strong>警告:</strong> ' .. preview .. '(このメッセージはプレビュー時のみ表示されます。)</div>' elseif preview == nil then preview = unknown 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 = 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 and ( showblankpos or isnotempty(v) ) then table.insert(values, k .. ' = ' .. clean(v)) end end -- add results to the output tables if #values > 0 then if mw.getCurrentFrame():preprocess( "{{REVISIONID}}" ) == "" then unknown = preview end for _, v in pairs(values) do if v == '' then -- Fix odd bug for | = which gets stripped to the empty string and -- breaks category links v = ' ' end -- avoid error with v = 'example%2' ("invalid capture index") local r = unknown: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
編集内容の要約:
Re-Agatadiaへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
Re-Agatadia:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
このページで参照読み込みされているページ:
モジュール:Check for unknown parameters/doc
(
編集
)
当サイトでは、アクセス解析や利便性向上のためにCookieを使用しています。当サイトを継続して利用することで、Cookieの使用に同意したものとみなされます。
詳細情報
OK
検索
検索
「
モジュール:Check for unknown parameters
」を編集中
話題を追加