模块:Gloss:修订间差异
来自「荏苒之境」
创建页面,内容为“local gloss = {} gloss.show = function(frame) local text = frame.args[1] local descs = frame.args[2] local delimiters = frame.args.delimiters local parts = {} local regex = delimiters and table.concat(delimiters) for part in string.gmatch(text, "([^"..delimiter.."]+)") do table.insert(parts, part) end end return gloss” |
无编辑摘要 |
||
第1行: | 第1行: | ||
local gloss = {} | local gloss = {} | ||
local function split(text, delimiters) | |||
local parts = {} | |||
for part in string.gmatch(text, "([^"..delimiters.."]+)") do | |||
parts[#parts+1] = part | |||
end | |||
return parts | |||
end | |||
gloss.show = function(frame) | gloss.show = function(frame) | ||
local delimiter = frame.args.delimiter or " " | |||
local text = frame.args[1] | local text = frame.args[1] | ||
local descs = frame.args[2] | local descs = split(frame.args[2], delimiter) | ||
local | local separator = frame.args.separator or "" | ||
local | local t = {} | ||
for | local i = 1 | ||
for word in string.gmatch(text, "([^"..delimiter.."]+)") do | |||
if word ~= "" then | |||
local desc = descs[i] | |||
if desc ~= nil then | |||
t[#t+1] = "{{#tip-text:" | |||
t[#t+1] = word | |||
t[#t+1] = "|" | |||
t[#t+1] = desc | |||
t[#t+1] = "}}" | |||
else | |||
t[#t+1] = word | |||
end | |||
i = i + 1 | |||
end | |||
if separator ~= "" then | |||
t[#t+1] = separator | |||
end | |||
end | end | ||
return table.concat(t) | |||
end | end | ||
return gloss | return gloss |
2025年8月21日 (四) 18:12的版本
此模块的文档可以在模块:Gloss/doc创建
local gloss = {}
local function split(text, delimiters)
local parts = {}
for part in string.gmatch(text, "([^"..delimiters.."]+)") do
parts[#parts+1] = part
end
return parts
end
gloss.show = function(frame)
local delimiter = frame.args.delimiter or " "
local text = frame.args[1]
local descs = split(frame.args[2], delimiter)
local separator = frame.args.separator or ""
local t = {}
local i = 1
for word in string.gmatch(text, "([^"..delimiter.."]+)") do
if word ~= "" then
local desc = descs[i]
if desc ~= nil then
t[#t+1] = "{{#tip-text:"
t[#t+1] = word
t[#t+1] = "|"
t[#t+1] = desc
t[#t+1] = "}}"
else
t[#t+1] = word
end
i = i + 1
end
if separator ~= "" then
t[#t+1] = separator
end
end
return table.concat(t)
end
return gloss