Module:Sandbox/InvalidData/AichanRepeat

来自Arcaea中文维基
< Module:Sandbox
InvalidData讨论 | 贡献2024年9月22日 (日) 20:23的版本 (计算推荐的重复次数(?)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

可在Module:Sandbox/InvalidData/AichanRepeat/doc创建此模块的帮助文档

local srcFileName = 'InvalidData/preferdata.json'
local p = {}

local function getList()
	return mw.text.jsonDecode(mw.title.new(srcFileName,'User'):getContent())['aichan']
end

function p.main()
	local prefList = getList()
	local allList = {}
	local repList = {}
	local repTimes = 0
	local repSongs = 0
	local songNumber = 0

	for i = 1,#prefList,1 do
		local tempPref1 = prefList[i]['prefer']
		for j in 1,#tempPref1,1 do
			local tempPref2 = tempPref1[j]
			for k in 1,#tempPref2,1 do
				local curSong = tempPref2[k]
				if allList[curSong] then -- when repeat
					repTimes = repTimes + 1
					if repList[curSong] then -- when not first repeat
						repList[curSong] = repList[curSong] + 1
					else -- when first repeat
						repList[curSong] = 1
						repSongs = repSongs + 1
					end
				else -- when not repeat
					songNumber = songNumber + 1
					allList[songNumber] = curSong
				end
			end
		end
	end

	local wikiText = "* 出现了'''" .. repTimes .. "'''次/'''" .. repSongs .. "'''首重复曲目"
	return wikiText
end

return p