Module:Sandbox: Difference between revisions

From Path of Exile 2 Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
local p = {}
local p = {}
local getArgs


function p.main(frame)
function p.main(frame)
local origArgs
if not getArgs then
if frame == mw.getCurrentFrame() then -- Module called via #invoke.
getArgs = require('Module:Arguments').getArgs
-- If the invoking template passed any arguments, use them.
for k, v in pairs(frame.args) do
origArgs = frame.args
break
end
-- Otherwise, use the arguments that were passed into the template.
if not origArgs then
origArgs = frame:getParent().args
end
else -- Module called from another module or from the debug console.
-- Assume the arguments are passed in directly.
origArgs = frame
end
end
local args = getArgs(frame)
return p._main(args)
end
function p._main(origArgs)
local args = {}
local args = {}
for k, v in pairs(origArgs) do
for k, v in pairs(origArgs) do
-- Only grab non-empty args where key is a positive integer
-- Only grab non-empty args where key is a positive integer
if type(k) == 'number' and k >= 1 and math.floor(k) == k and mw.ustring.match(v, '%S') then
if type(k) == 'number' and k >= 1 and math.floor(k) == k and mw.ustring.match(tostring(v), '%S') then
table.insert(args, k)
table.insert(args, k)
end
end
Line 26: Line 20:
table.sort(args)
table.sort(args)
for i, v in ipairs(args) do
for i, v in ipairs(args) do
args[i] = mw.text.trim(origArgs[v])
args[i] = mw.text.trim(tostring(origArgs[v]))
end
end
return table.concat(args, origArgs.sep or ', ')
return table.concat(args, ', ')
end
 
function p_main(args)
 
end
end


return p
return p

Revision as of 02:14, 26 July 2014

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


This page is not an actual Scribunto module. It exists to provide editors a place to create experimental modules.

Naming your modules

To keep things tidy, please use the following format to name your experimental modules:

Module:Sandbox/Your username/Module name

Cleaning up unused modules

Experimental modules may be deleted by admins upon request or after a long period of inactivity.

List of modules in this area

For a list of the experimental modules under Module:Sandbox, see Special:PrefixIndex/Module:Sandbox/.

local p = {}
local getArgs

function p.main(frame)
	if not getArgs then
		getArgs = require('Module:Arguments').getArgs
	end
	local args = getArgs(frame)
	return p._main(args)
end

function p._main(origArgs)
	local args = {}
	for k, v in pairs(origArgs) do
		-- Only grab non-empty args where key is a positive integer
		if type(k) == 'number' and k >= 1 and math.floor(k) == k and mw.ustring.match(tostring(v), '%S') then
			table.insert(args, k)
		end
	end
	table.sort(args)
	for i, v in ipairs(args) do
		args[i] = mw.text.trim(tostring(origArgs[v]))
	end
	return table.concat(args, ', ')
end

return p