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 getArgs | |||
function p.main(frame) | function p.main(frame) | ||
if not getArgs then | |||
if | getArgs = require('Module:Arguments').getArgs | ||
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, | return table.concat(args, ', ') | ||
end | end | ||
return p | return p |
Revision as of 02:14, 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 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