Module:Sandbox: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local checkType = require('libraryUtil').checkType | |||
local getArgs | local getArgs | ||
Line 10: | Line 11: | ||
end | end | ||
function p._main( | function p._main(args) | ||
local | local iargs = {} | ||
for k, v in pairs( | local kargs = {} | ||
for k, v in pairs(args) 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 | if type(k) == 'number' and k >= 1 and math.floor(k) == k and string.find(tostring(v), '%S') then | ||
table.insert( | table.insert(iargs, k) | ||
elseif type(k) == 'string' and string.find(tostring(v), '%S') then | |||
table.insert(kargs, mw.text.trim(tostring(v))) | |||
end | end | ||
end | end | ||
table.sort( | table.sort(iargs) | ||
for i, v in ipairs( | for i, v in ipairs(iargs) do | ||
iargs[i] = mw.text.trim(tostring(args[v])) | |||
end | end | ||
return table.concat( | return table.concat({unpack(kargs), unpack(iargs)}, ', ') | ||
end | end | ||
return p | return p |
Revision as of 02:44, 26 July 2014
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/.
The above documentation is transcluded from Module:Sandbox/doc.
Editors can experiment in this module's sandbox and testcases pages.
Subpages of this module.
Editors can experiment in this module's sandbox and testcases pages.
Subpages of this module.
local p = {}
local checkType = require('libraryUtil').checkType
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(args)
local iargs = {}
local kargs = {}
for k, v in pairs(args) 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 string.find(tostring(v), '%S') then
table.insert(iargs, k)
elseif type(k) == 'string' and string.find(tostring(v), '%S') then
table.insert(kargs, mw.text.trim(tostring(v)))
end
end
table.sort(iargs)
for i, v in ipairs(iargs) do
iargs[i] = mw.text.trim(tostring(args[v]))
end
return table.concat({unpack(kargs), unpack(iargs)}, ', ')
end
return p