Module:Awajie:修订间差异

来自有兽档案馆
无编辑摘要
(清空全部内容)
标签清空 已被回退
第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的版本

文档图示 模块文档[创建] [跳转到代码]

本模块还没有文档页面。

您可以创建文档以让编者更好地理解本模块的用途。
编者可以在本模块的沙盒创建 | 镜像和测试样例创建页面进行实验。
请将模块自身所属的分类添加在文档中。本模块的子页面