跳转到内容
打开/关闭搜索
搜索
打开/关闭菜单
397
文件
1978
用户
1.2万
编辑
Gal中文百科
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
在其他项目中
打开/关闭外观设置菜单
无法加载偏好设置。请检查您的网络连接并重试。
重试
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
讨论
贡献
创建账号
登录
编辑“︁
Module
:
Vgr
”︁
来自Gal中文百科
查看
阅读
编辑源代码
查看历史
associated-pages
模块
讨论
更多操作
更多
工具
链入页面
相关更改
页面信息
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
require("strict") local split = mw.text.split local trim = mw.text.trim local concat = table.concat local chinese_date = require("Module:Date_Convert")._ChineseDate local getArgs = require("Module:Arguments").getArgs local unbulleted = require("Module:List").unbulleted local yesno = require("Module:Yesno") local region_data = mw.loadData("Module:Vgr/regions") local ITEMS_LIMIT = 42 local DEFAULT_PLAIN_MODE = false local DELIM_PATTERN = "[,;/、,;/]%s*" local p = {} --- Return the mapped region name, or the original value if unmapped. --- @param code string --- @return string local function get_name(code) return region_data[code] or code end --- Split and normalize region codes. --- @param s string --- @return string[] local function split_codes(s) local codes = {} for _, part in ipairs(split(s or "", DELIM_PATTERN, false)) do part = trim(part) if part ~= "" then codes[#codes + 1] = part end end return codes end --- Convert a region-code string into display names. --- @param s string --- @return string[] local function get_names(s) local names = {} for _, code in ipairs(split_codes(s)) do names[#names + 1] = get_name(code) end return names end --- Render the label portion. --- @param value string --- @return string local function render_label(value) return concat(get_names(value), "、") end --- Render the data portion. --- @param value string --- @param plain boolean --- @return string local function render_data(value, plain) if plain then return value end return chinese_date {value, error = "ignore", suf = "yes"} end --- Render one item. --- @param label string --- @param value string --- @param plain boolean --- @return string local function render_item(label, value, plain) return ("%s:%s"):format(render_label(label), render_data(value, plain)) end --- Handle shorthand single-value usage. --- @param args table --- @param plain boolean --- @return table|nil local function get_single_item(args, plain) local first, second = args[1], args[2] if first and second == nil then return {render_data(first, plain)} end if second and first == nil then return {render_data(second, plain)} end end --- Collect normal paired items. --- @param args table --- @param plain boolean --- @return table local function get_paired_items(args, plain) local items = {} for i = 1, ITEMS_LIMIT * 2, 2 do local label = args[i] if not label or label == "" then break end items[#items + 1] = render_item(label, args[i + 1] or "", plain) end return items end --- Parse arguments into rendered items. --- @param args table --- @return table local function get_items(args) local plain = yesno(args.plain, DEFAULT_PLAIN_MODE) return get_single_item(args, plain) or get_paired_items(args, plain) end --- Internal entry point. --- @param args table --- @return string function p._main(args) return unbulleted(get_items(args)) end --- Template entry point. --- @param frame table --- @return string function p.main(frame) return p._main(getArgs(frame)) end return p
摘要:
请注意,所有对Gal中文百科的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Gal中文百科:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
此页面嵌入的页面:
Module:Vgr/doc
(
编辑
)
编辑“︁
Module
:
Vgr
”︁
来自Gal中文百科