本模块为自动表核心功能程序,根据输入的信息自动筛选数据。

数据库储存在Module:db_song,通过Template:db可以调用数据库中的信息,也可以通过Template:songlist生成自动表格。


local p = {}

function p.value(frame)
    local args = frame.args
    
    -- 遍历所有参数,查找模块名和键名
    for paramName, paramValue in pairs(args) do
        -- 检查参数格式是否为"模块名=键名"
        if string.find(paramName, "=") then
            local moduleName, key = string.match(paramName, "(.+)=(.+)")
            
            if moduleName and key then
                -- 动态加载指定模块
                local success, moduleData = pcall(require, 'Module:' .. moduleName)
                
                if success and moduleData then
                    -- 返回对应键的值
                    return tostring(moduleData[key] or '键不存在')
                else
                    return '模块不存在或加载失败'
                end
            end
        end
    end
    
    return '请使用格式: 模块名=键名'
end

return p