Mòdul:Utilitats

De Viquidites

La documentació d'ús d'aquest mòdul es pot crear a Mòdul:Utilitats/ús

local p = {}

-- Converteix una llista en una taula amb valor true per cada element
function p.llista (list)
	local set = {}
	for _, l in ipairs(list) do set[l] = true end
	return set
end

-- Afegeix una subplantilla de rastreig, vegeu Plantilla:Rastreig, original de [[wikt:en:Module:debug]]
function p.track(key)
	if type(key) == "table" then key = key.args[1] end -- des de plantilles via invoke o des de mòduls via require
	local frame = mw.getCurrentFrame()
	pcall(frame.expandTemplate, frame, { title = 'rastreig/' .. key })
end

-- Funció equivalent a pairs() però ordenat per key
function p.spairs(t)
	local keys = {}
	for k in pairs(t) do keys[#keys+1] = k end
	table.sort(keys)
	local i = 0
	return function()
		i = i + 1
		if keys[i] then
			return keys[i], t[keys[i]]
		end
	end
end

return p