Modül:debug/track

Merhaba, buraya Modül:debug/track kelimesinin anlamını aramaya geldiniz. DICTIOUS'da Modül:debug/track kelimesinin tüm sözlük anlamlarını bulmakla kalmayacak, aynı zamanda etimolojisini, özelliklerini ve Modül:debug/track kelimesinin tekil ve çoğul olarak nasıl söylendiğini de öğreneceksiniz. Modül:debug/track kelimesi hakkında bilmeniz gereken her şey burada. Modül:debug/track kelimesinin tanımı, konuşurken veya metinlerinizi yazarken daha kesin ve doğru olmanıza yardımcı olacaktır. XXX'in ve diğer kelimelerin tanımını bilmek, kelime dağarcığınızı zenginleştirir ve size daha fazla ve daha iyi dilsel kaynaklar sağlar.
Modül belgelemesi


-- Transclusion-based tracking as subpages of ].
-- Tracked pages can be found at ].
local error = error
local find = string.find
local makeTitle = mw.title.makeTitle
local sub = string.sub
local type = type

local memo = {}

local function track(key)
	-- Return if memoized.
	if memo then
		return
	end
	-- Throw an error if `key` isn't a string.
	local key_type = type(key)
	if key_type ~= "string" then
		error("Tracking keys supplied to ] must be strings; received " .. key_type .. ".", 3)
	end
	-- makeTitle returns nil for invalid titles, but "#" is treated as a
	-- fragment separator (e.g. "foo#bar" generates the title "foo"), so we
	-- need to manually exclude it.
	local title = not find(key, "#", 1, true) and makeTitle(4, "Tracking/" .. key)
	if title then
		-- Normalize the key, by getting title.text and removing the initial
		-- "Tracking/". Normally this will be the same as title.subpageText,
		-- but subpageText will be wrong if there are further slashes, so we
		-- can't use it.
		local normalized = sub(title.text, 10)
		-- Return if the normalized form has been memoized.
		if memo then
			return
		end
		-- Otherwise, transclude the page. Getting the raw page content is the
		-- fastest way to trigger transclusion, as it avoids any parser
		-- expansion of the target page.
		title:getContent()
		-- Memoize normalized form.
		memo = true
	else
		-- Track uses of invalid keys. Replace with error message once all have
		-- been eliminated.
		-- ]
		track("debug/track/invalid key")
		-- error("Tracking key \"" .. key .. "\" supplied to ] is invalid: key must be a ].", 3)
	end
	memo = true
end

return function(input)
	if input == nil then
		error("No tracking key supplied to ].", 2)
	elseif type(input) ~= "table" then
		track(input)
		return true
	end
	local key = input
	if key == nil then
		error("No tracking keys in table supplied to ].", 2)
	end
	local i = 1
	repeat
		track(key)
		i = i + 1
		key = input
	until key == nil
	return true
end