bugfix1001.2

本WIKI编辑权限开放,正由 恋与深空Evol攻略组 搭建基础框架ing,期待更多猎人加入WIKI建设!
反馈留言收藏方法加入我们

全站通知:

模块:Wikitable

来自恋与深空WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

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

local getArgs = require('Module:Arguments').getArgs

local p = {}

function p.main(frame)
    local args = getArgs(frame, {
        removeBlanks = false,
        trim = false
    }) -- 保留空格和换行
    return p._main(args)
end

function p._main(args)
    local buffer = {'{|'} -- 表格开头的{|

    for k, v in pairs(args) do
        -- 没记错的话Lua输入命名参数后是没法按照顺序呈现的,因此需要通过遍历查找命名参数,即表格第一行<table>中的class等内容
        if type(k) ~= 'number' then
            --[=[ 
                表格第一行,此时直接读入的参数不包括等号前面的内容,
                例如class="wikitable"只会读入一个键为class、值为"wikitable"的参数,需要手动将前面的class=加上去。
            ]=]
            table.insert(buffer, string.format(' %s=%s', k, v))
        end
    end
    table.insert(buffer, '\n')

    for _, v in ipairs(args) do
        table.insert(buffer, '|')
        table.insert(buffer, v)
    end

    -- 补上结尾的|},然后将表串起来并返回
    table.insert(buffer, '\n|}')
    return table.concat(buffer)
end

return p;