模块: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 delimiters = frame.args.delimiters
local separator = frame.args.separator or ""
local parts = {}
local t = {}
local regex = delimiters and table.concat(delimiters)
for part in string.gmatch(text, "([^"..delimiter.."]+)") do
local i = 1
    table.insert(parts, part)
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