Module:Sort list: Difference between revisions
Appearance
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) |
||
local delimiter = frame.args['delimiter'] or "\n" |
|||
items = splitLine( frame.args[1], delimiter ); |
|||
table.sort( items ); |
table.sort( items ); |
||
return table.concat( items, |
return table.concat( items, delimiter ); |
||
end |
end |
||
function p.desc(frame) |
function p.desc(frame) |
||
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, |
return table.concat( items, delimiter ); |
||
end |
end |
||
function splitLine( text ) |
function splitLine( text, delimiter ) |
||
return mw.text.split( text, |
return mw.text.split( text, delimiter, true ); |
||
end |
end |
||
Revision as of 22:58, 11 April 2016
A sorting module, intended to be used with {{sort list}}.
See also
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