(清空全部内容) 标签:清空 已被回退 |
无编辑摘要 标签:手工回退 |
||
第1行: | 第1行: | ||
local p = {} |
|||
function p.test(frame) |
|||
local args = frame.args |
|||
local order = args[1] |
|||
local name = args[2] |
|||
local some = args[3] |
|||
local function contains(t, value) |
|||
for _, v in ipairs(t) do |
|||
if v == value then |
|||
return true |
|||
end |
|||
end |
|||
return false |
|||
end |
|||
local function custom_sort(a, b) |
|||
return tonumber(a) > tonumber(b) |
|||
end |
|||
if name == nil or name == "" then |
|||
return "文本为空,请在|name=填入要查询的角色名" |
|||
end |
|||
local pattern = "第(%d+)话" |
|||
local extracted_numbers = {} |
|||
for match in (some..pattern):gmatch(pattern) do |
|||
if not contains(extracted_numbers, match) then |
|||
table.insert(extracted_numbers, match) |
|||
end |
|||
end |
|||
local sorted_t = {} |
|||
for i, x in ipairs(extracted_numbers) do |
|||
table.insert(sorted_t, tonumber(x)) |
|||
end |
|||
if order == 'asc' then |
|||
table.sort(sorted_t) |
|||
elseif order == 'desc' then |
|||
table.sort(sorted_t, custom_sort) |
|||
end |
|||
local huashu = {} |
|||
for i, num in ipairs(sorted_t) do |
|||
local new_value = "[[第" .. num .. "话]]" |
|||
table.insert(huashu, new_value) |
|||
end |
|||
local plainlinks = "plainlinks" |
|||
local namelur = "<span class=" ..plainlinks.. ">[https://youshou.wiki/wiki/Special:%E8%AF%A2%E9%97%AE/-5B-5BOnCamera:character-20name::" ..name.. "-5D-5D/limit%3D50/format%3Dplainlist 查询更多]</span>" |
|||
table.insert(huashu, namelur) |
|||
local result = {} |
|||
local counter = 0 |
|||
for _, val in ipairs(huashu) do |
|||
table.insert(result, val) |
|||
counter = counter + 1 |
|||
if counter % 14 == 0 and counter ~= #huashu then |
|||
table.insert(result, "<br>") |
|||
end |
|||
if counter % 14 ~= 0 then |
|||
table.insert(result, " · ") |
|||
end |
|||
end |
|||
local lastElement = table.remove(result) |
|||
if lastElement ~= " · " then |
|||
table.insert(result, lastElement) |
|||
end |
|||
local output = table.concat(result, "") |
|||
return output |
|||
end |
|||
return p |
2024年1月12日 (五) 14:58的版本
local p = {}
function p.test(frame)
local args = frame.args
local order = args[1]
local name = args[2]
local some = args[3]
local function contains(t, value)
for _, v in ipairs(t) do
if v == value then
return true
end
end
return false
end
local function custom_sort(a, b)
return tonumber(a) > tonumber(b)
end
if name == nil or name == "" then
return "文本为空,请在|name=填入要查询的角色名"
end
local pattern = "第(%d+)话"
local extracted_numbers = {}
for match in (some..pattern):gmatch(pattern) do
if not contains(extracted_numbers, match) then
table.insert(extracted_numbers, match)
end
end
local sorted_t = {}
for i, x in ipairs(extracted_numbers) do
table.insert(sorted_t, tonumber(x))
end
if order == 'asc' then
table.sort(sorted_t)
elseif order == 'desc' then
table.sort(sorted_t, custom_sort)
end
local huashu = {}
for i, num in ipairs(sorted_t) do
local new_value = "[[第" .. num .. "话]]"
table.insert(huashu, new_value)
end
local plainlinks = "plainlinks"
local namelur = "<span class=" ..plainlinks.. ">[https://youshou.wiki/wiki/Special:%E8%AF%A2%E9%97%AE/-5B-5BOnCamera:character-20name::" ..name.. "-5D-5D/limit%3D50/format%3Dplainlist 查询更多]</span>"
table.insert(huashu, namelur)
local result = {}
local counter = 0
for _, val in ipairs(huashu) do
table.insert(result, val)
counter = counter + 1
if counter % 14 == 0 and counter ~= #huashu then
table.insert(result, "<br>")
end
if counter % 14 ~= 0 then
table.insert(result, " · ")
end
end
local lastElement = table.remove(result)
if lastElement ~= " · " then
table.insert(result, lastElement)
end
local output = table.concat(result, "")
return output
end
return p