Module:Skill types
Jump to navigation
Jump to search
Documentation for this module may be created at Module:Skill types/doc
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p.make_cat(skill)
return "[[Category:Characters with " .. skill .. " skills]]"
end
function p.make_link(skill)
return "[[:Category:Characters with " .. skill .. " skills|" .. skill .. " skills]]"
end
function p._main(args)
local length = 0
for k, v in pairs(args) do
length = length + 1
end
local result = ""
if length == 1 then
result = p.make_link(args[1])
elseif length == 2 then
result = p.make_link(args[1]) .. " and " .. p.make_link(args[2])
else
for key, value in pairs(args) do
result = result .. p.make_link(value)
if key == length - 1 then
result = result .. ", and "
elseif key ~= length then
result = result .. ", "
end
end
end
local cats = ""
for key, value in pairs(args) do
cats = cats .. p.make_cat(value)
end
return result .. cats
end
return p