Дополнительные действия
Этому шаблону не хватает документации. Вы можете помочь проекту, сделав описание шаблона: что он делает, как его использовать, какие параметры он принимает. Это поможет другим использовать его. Для оформления можете воспользоваться {{doc}} или {{doc-inline}}. Не забывайте помещать описание внутрь <noinclude></noinclude>. P.S. Также не забываем про категорию. |
local p = {}
function p.removeDuplicates(frame)
local arg, hash = frame:getParent().args[1], {}
local m, n = mw.text.split(arg, ","), {}
for _, l in ipairs(m) do
l = mw.text.trim(l)
if (not hash[l]) then
n[#n+1] = l
hash[l] = true
end
end
arg = table.concat(n, ", ")
return arg
end
function p.removeCustom(frame)
local args, hash = frame:getParent().args, {}
if (args[1] == nil) then return '' end
local t = mw.text.split(args[1], ",")
local s = mw.text.split(args[2], ",")
for i, v in ipairs(t) do
t[i] = mw.text.trim(v)
hash[t[i]] = true
end
if args[3] == '' then args[3] = false end
if args[3] and not hash[args[3]] then return table.concat(t, ", ") end
for i, v in ipairs(s) do
s[i] = mw.text.trim(v)
end
for j = #s, 1, -1 do
for i = #t, 1, -1 do
if t[i] == s[j] then
table.remove(t, i)
end
end
end
return table.concat(t, ", ")
end
return p