模块:Dictionary/Vocabulary.lua:修订间差异

来自「荏苒之境」
创建页面,内容为“local csv = require("Module:Csv.lua") local cargo = mw.ext.cargo local section = {} section.show = function(frame) local args = frame.args local table = "Dict_"..args.langauge local format = args.format local content = args.content if format == "csv" then local data = csv.parse(content) local header = data.header for i = 1, #data do local entry = {} local row = data[i] for j = 1,…”
 
无编辑摘要
第6行: 第6行:
section.show = function(frame)
section.show = function(frame)
     local args = frame.args
     local args = frame.args
     local table = "Dict_"..args.langauge
     local table_name = "Dict_"..args.langauge
     local format = args.format
     local format = args.format
     local content = args.content
     local content = args.content
    local decls = {}
    local entries = {}


     if format == "csv" then
     if format == "csv" then
         local data = csv.parse(content)
         local data = csv.parse(content)
         local header = data.header
         local header = data.header
        for i = 1, #header do
            decls[header[i]] = "String";
        end
         for i = 1, #data do
         for i = 1, #data do
             local entry = {}
             local entry = {}
第19行: 第25行:
                 entry[header[j]] = row[j]
                 entry[header[j]] = row[j]
             end
             end
             cargo.store(table, entry)
             entries[i] = entry
         end
         end
     else
     else
         mw.addWarning("无效的词典格式:"..tostring(format))
         mw.addWarning("无效的词典格式:"..tostring(format))
    end
    cargo.declare(table_name, decls)
    for i = 1, #entries do
        cargo.store(table_name, entries[i])
     end
     end
end
end


return section
return section

2025年8月2日 (六) 01:53的版本

此模块的文档可以在模块:Dictionary/Vocabulary.lua/doc创建

local csv = require("Module:Csv.lua")
local cargo = mw.ext.cargo

local section = {}

section.show = function(frame)
    local args = frame.args
    local table_name = "Dict_"..args.langauge
    local format = args.format
    local content = args.content

    local decls = {}
    local entries = {}

    if format == "csv" then
        local data = csv.parse(content)
        local header = data.header
        for i = 1, #header do
            decls[header[i]] = "String";
        end
        for i = 1, #data do
            local entry = {}
            local row = data[i]
            for j = 1, #row do
                entry[header[j]] = row[j]
            end
            entries[i] = entry
        end
    else
        mw.addWarning("无效的词典格式:"..tostring(format))
    end

    cargo.declare(table_name, decls)
    for i = 1, #entries do
        cargo.store(table_name, entries[i])
    end
end

return section