“模块:PageName”的版本间的差异

来自iFx Wiki
跳到导航 跳到搜索
(已保护“模块:PageName”:高流量页面([编辑=仅允许管理员](无限期)[移动=仅允许管理员](无限期)))
(撤销VIFF讨论)的版本1382)
标签撤销
 
(未显示同一用户的7个中间版本)
第1行: 第1行:
p = {}
+
local p = {}
  
 
function p.split(s)
 
function p.split(s)
第5行: 第5行:
 
     parent, name = s:match("^(.+)/(.+)$")
 
     parent, name = s:match("^(.+)/(.+)$")
 
     return parent, name
 
     return parent, name
 +
end
 +
 +
function p.rsplit(s)
 +
    return s:match("^([^/]+)/(.+)$")
 +
end
 +
 +
local type2name = {
 +
['W'] = "世界观",
 +
['X'] = "联动"
 +
}
 +
 +
function p.type_name(s)
 +
    return type2name[s]
 
end
 
end
  
第12行: 第25行:
 
     if type_flag then
 
     if type_flag then
 
         local base, sub
 
         local base, sub
         base, sub = p.split(full_name)
+
         base, sub = p.rsplit(full_name)
 
         if base then
 
         if base then
 
             return type_flag, base, sub
 
             return type_flag, base, sub
第21行: 第34行:
 
         return nil, nil, s
 
         return nil, nil, s
 
     end
 
     end
 +
end
 +
 +
function p.getPageName()
 +
    return mw.title.getCurrentTitle().text
 
end
 
end
  
 
return p
 
return p

2021年7月5日 (一) 08:07的最新版本

此模块的文档可以在模块:PageName/doc创建

local p = {}

function p.split(s)
    local parent, name
    parent, name = s:match("^(.+)/(.+)$")
    return parent, name
end

function p.rsplit(s)
    return s:match("^([^/]+)/(.+)$")
end

local type2name = {
['W'] = "世界观",
['X'] = "联动"
}

function p.type_name(s)
    return type2name[s]
end

function p.parse(s)
    local type_flag, full_name
    type_flag, full_name = s:match("^([XW])/(.+)$")
    if type_flag then
        local base, sub
        base, sub = p.rsplit(full_name)
        if base then
            return type_flag, base, sub
        else
            return type_flag, full_name, nil
        end
    else
        return nil, nil, s
    end
end

function p.getPageName()
    return mw.title.getCurrentTitle().text
end

return p