跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
社群首页
帮助
希顶相关网站
希顶社区官网
希服维基
Nyoeghau翻译器
〇改希顶转写器
语圈山海经
搜索
搜索
外观
创建账号
登录
个人工具
创建账号
登录
查看“︁Module:Links”︁的源代码
模块
讨论
English
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
←
Module:Links
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:
用户
、storagereadable
您必须确认您的电子邮件地址才能编辑页面。请通过
参数设置
设置并确认您的电子邮件地址。
您可以查看和复制此页面的源代码。
local p = {} local getArgs = require('Module:Arguments').getArgs -- 将输入字符串转换为由 Unicode 码位构成的数组 function p.str2codelist(strin) local listout = {} for codepoint in mw.ustring.gcodepoint(strin) do table.insert(listout, codepoint) end return listout end -- 将 Unicode 码位数组转换回 UTF-8 字符串 function p.codelist2str(unicodeCodes) local utf8Str = "" for _, code in ipairs(unicodeCodes) do utf8Str = utf8Str .. mw.ustring.char(code) end return utf8Str end -- 生成复杂的链接表 function p.links(frame) local args = getArgs(frame) -- 计算 args 的长度 (由于某些神秘的原因不能用 #args) local count = 0 for _, v in ipairs(args) do count = count + 1 end local outstr = "" -- 遍历每个参数 for k, v in ipairs(args) do local strli = p.str2codelist(v) local flag = 0 local tag = "" local itag = "" -- 遍历字符转换后的 Unicode 码位 for k2, v2 in ipairs(strli) do if v2 == p.str2codelist("#")[1] then flag = 1 -- 识别分隔符 else -- 根据 flag 决定当前字符的标签存放位置 if flag == 0 then tag = tag .. p.codelist2str({v2}) else itag = itag .. p.codelist2str({v2}) end end end -- 组装输出字符串 if flag == 0 then outstr = outstr .. "[[" .. tag .. "]]" else outstr = outstr .. "[[" .. tag .. "|" .. itag .. "]]" end -- 添加分隔符 if k < count then outstr = outstr .. " • " end end return frame:preprocess(outstr) -- 预处理 wikitext 结果 end return p
该页面使用的模板:
Module:Links/doc
(
查看源代码
)
返回
Module:Links
。