Module:Separated entries: Difference between revisions

From Path of Exile 2 Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 7: Line 7:
end
end
local args = getArgs(frame, {
local args = getArgs(frame, {
-- wrappers = 'Template:Concat' -- Wrappers invokes frame:title()
-- wrappers = 'Template:Concat', -- Wrappers invokes frame:title()
parentOnly = true,
trim = false
})
})
local sep = args.sep or ', '
return p._main(args, args.sep)
end
 
function p._main(args, sep)
args = args or {}
sep = sep or ', '
local iargs = {}
local iargs = {}
for k, v in pairs(args) do
for k, v in pairs(args) do
if type(k) == 'number' and k >= 1 and math.floor(k) == k and string.find(tostring(v), '%S') then
if type(k) == 'number' and k >= 1 and math.floor(k) == k and mw.ustring.find(v, '%S') then
table.insert(iargs, k)
table.insert(iargs, k)
end
end
Line 18: Line 25:
table.sort(iargs)
table.sort(iargs)
for i, v in ipairs(iargs) do
for i, v in ipairs(iargs) do
iargs[i] = tostring(args[v])
iargs[i] = mw.text.trim(args[v])
end
end
return p._main(iargs, sep)
end
function p._main(iargs, sep)
return table.concat(iargs, sep)
return table.concat(iargs, sep)
end
end


return p
return p

Revision as of 20:00, 26 July 2014

Module documentation[view] [edit] [history] [purge]


Lua logo

This module depends on the following other modules:

This module was adapted from Module:Separated entries on Wikipedia.
Adaptation is noted for reference and attribution only. This module may differ from the original in function or in usage. The documentation on Wikipedia may be helpful in understanding this module.

local p = {}
local getArgs

function p.main(frame)
	if not getArgs then
		getArgs = require('Module:Arguments').getArgs
	end
	local args = getArgs(frame, {
		-- wrappers = 'Template:Concat', -- Wrappers invokes frame:title()
		parentOnly = true,
		trim = false
	})
	return p._main(args, args.sep)
end

function p._main(args, sep)
	args = args or {}
	sep = sep or ', '
	local iargs = {}
	for k, v in pairs(args) do
		if type(k) == 'number' and k >= 1 and math.floor(k) == k and mw.ustring.find(v, '%S') then
			table.insert(iargs, k)
		end
	end
	table.sort(iargs)
	for i, v in ipairs(iargs) do
		iargs[i] = mw.text.trim(args[v])
	end
	return table.concat(iargs, sep)
end

return p