Module:SortList

From Blaseball Wiki

Revision as of 02:03, 6 October 2020 by OliverIsARobot (talk | contribs)

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