模块: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 | 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 | ||
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