コンテンツにスキップ

このWebサイトは、管理人が個人的に書き留めている備忘録です。それ以上でもそれ以下でもありません。
誤記・誤解・誤謬を含め、記述内容の確度を一切保証しません。責任を負いません。問い合わせ等を受け付けません。
This Mediawiki is a personal memorandum written by Administrator, nothing more, nothing less.
Administrator do NOT guarantee accuracy of content, including any errors, misunderstandings, fallacies, take NO responsibility, do NOT accept inquiries anything of the sort.

モジュール:If empty

提供: Memorandum
2020年10月10日 (土) 20:34時点におけるWebmaster (トーク | 投稿記録)による版 (1版 をインポートしました)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

このモジュールについての説明文ページを モジュール:If empty/doc に作成できます

local p = {}

function p.main(frame)
	local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Template:Ifempty', removeBlanks = false})

	-- For backwards compatibility reasons, the first 8 parameters can be unset instead of being blank,
	-- even though there's really no legitimate use case for this. At some point, this will be removed.
	local lowestNil = math.huge
	for i = 8,1,-1 do
		if args[i] == nil then
			args[i] = ''
			lowestNil = i
		end
	end

	for k,v in ipairs(args) do
		if v ~= '' then
			if lowestNil < k then
				-- If any uses of this template depend on the behavior above, add them to a tracking category.
				-- This is a rather fragile, convoluted, hacky way to do it, but it ensures that this module's output won't be modified
				-- by it.
				frame:extensionTag('ref', '[[Category:テンプレート呼び出しエラーのあるページ/Template:Ifempty]]', {group = 'TrackingCategory'})
				frame:extensionTag('references', '', {group = 'TrackingCategory'})
			end
			return v
		end
	end
end

return p