Difference between revisions of "Module:SortList"
From Blaseball Wiki
m Tag: 2017 source edit |
m Tag: 2017 source edit |
||
Line 2: | Line 2: | ||
function p.asc(frame) | function p.asc(frame) | ||
− | items = splitLine( frame.args[1] ); | + | items = splitLine( frame.args[2], frame.args[1] ); |
table.sort( items ); | table.sort( items ); | ||
return table.concat( items, "\n\n" ); | return table.concat( items, "\n\n" ); | ||
end | end | ||
function p.desc(frame) | function p.desc(frame) | ||
− | items = splitLine( frame.args[1] ); | + | items = splitLine( frame.args[2], frame.args[1] ); |
table.sort( items, function (a, b) return a >= b end ); | table.sort( items, function (a, b) return a >= b end ); | ||
return table.concat( items, "\n\n" ); | return table.concat( items, "\n\n" ); | ||
Line 13: | Line 13: | ||
function p.reverse(frame) | function p.reverse(frame) | ||
− | items = splitLine( frame.args[1] ); | + | items = splitLine( frame.args[2], frame.args[1] ); |
local n = #items | local n = #items | ||
local i = 1 | local i = 1 | ||
Line 24: | Line 24: | ||
end | end | ||
− | function splitLine( text ) | + | function splitLine( separator, text ) |
− | return mw.text.split( text, | + | separator = separator or "\n" |
+ | return mw.text.split( text, separator, true ); | ||
end | end | ||
Revision as of 02:03, 6 October 2020
local p = {}
function p.asc(frame)
items = splitLine( frame.args[2], frame.args[1] ); table.sort( items ); return table.concat( items, "\n\n" );
end function p.desc(frame)
items = splitLine( frame.args[2], frame.args[1] ); table.sort( items, function (a, b) return a >= b end ); return table.concat( items, "\n\n" );
end
function p.reverse(frame)
items = splitLine( frame.args[2], frame.args[1] ); local n = #items local i = 1 while i < n do items[i],items[n] = items[n],items[i] i = i + 1 n = n - 1 end return table.concat( items, "\n\n" );
end
function splitLine( separator, text ) separator = separator or "\n"
return mw.text.split( text, separator, true );
end
return p