Jump to content

Module:Sort list: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
new module; content from m:Module:Sort (m:Special:Permalink/5541934)
 
add optional delimiter
Line 2: Line 2:


function p.asc(frame)
function p.asc(frame)
items = splitLine( frame.args[1] );
local delimiter = frame.args['delimiter'] or "\n"
items = splitLine( frame.args[1], delimiter );
table.sort( items );
table.sort( items );
return table.concat( items, "\n" );
return table.concat( items, delimiter );
end
end


function p.desc(frame)
function p.desc(frame)
items = splitLine( frame.args[1] );
local delimiter = frame.args['delimiter'] or "\n"
items = splitLine( frame.args[1], delimiter );
table.sort( items, revComp );
table.sort( items, revComp );
return table.concat( items, "\n" );
return table.concat( items, delimiter );
end
end


function splitLine( text )
function splitLine( text, delimiter )
return mw.text.split( text, "\n", true );
return mw.text.split( text, delimiter, true );
end
end



Revision as of 22:58, 11 April 2016

local p = {}

function p.asc(frame)
	local delimiter = frame.args['delimiter'] or "\n"
    items = splitLine( frame.args[1], delimiter );
    table.sort( items );
    return table.concat( items, delimiter );    
end

function p.desc(frame)
	local delimiter = frame.args['delimiter'] or "\n"
    items = splitLine( frame.args[1], delimiter );
    table.sort( items, revComp );
    return table.concat( items, delimiter );
end

function splitLine( text, delimiter )
    return mw.text.split( text, delimiter, true );    
end

function revComp( a, b )
    return a > b;
end

return p