Module:MakeUniqueList
From Tsadra Commons
Documentation for this module may be created at Module:MakeUniqueList/doc
local p = {}
function p.main(frame)
local pargs = frame:getParent().args
local list = pargs[1]
local sep = pargs[2]
local values = {}
local valuesOrdered = {}
for item in string.gmatch(list, "([^" .. sep .. "]+)") do
if not values[item] then
values[item] = true
table.insert(valuesOrdered, item)
end
end
local output = ''
local finalsep = ''
for _, value in ipairs(valuesOrdered) do
output = output .. finalsep .. value
if pargs[3] then
finalsep = pargs[3]
else
finalsep = pargs[2]
end
end
return output
end
return p