Module:SortList

From Blaseball Wiki

local p = {}

function p.asc(frame)

   items = splitLine( frame.args[2], frame.args[1] );
   table.sort( items );
   return table.concat( items, "" );    

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, "" );

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, "" );

end

function splitLine( separator, text ) separator = separator or "\n"

   return mw.text.split( text, separator, true );

end


return p