So, Alex's way of doing it is the fastest pure-LC way (I didn't get into using
the database methods). I referenced the list and turned the function into a
command, saves memory (possibly speed?) on very large lists.
on reverseSort @pList, pDelim
-- reverse-sorts an arbitrary list
-- ie, line/item -1 -> line/item 1, line/item -2 -> line/item 2
-- pList is referenced, so the original list will be changed,
-- more memory-efficient and slightly faster for large lists
-- pDelim defaults to cr, can be overridden
-- thanks to Alex Tweedly of the use-LC list
-- this was the fastest algorithm of many suggested
if pDelim = empty then put cr into pDelim
set the linedel to pDelim
put pList into outList
put the number of chars in outList into currentLen
repeat for each line thisLine in pList
put the number of chars in thisLine into lineLen
put thisLine & pDelim into char (currentLen-lineLen) to currentLen of
outList
subtract (lineLen+1) from currentLen
end repeat
delete char -1 of outList
put outList into pList
end reverseSort
-- Peter
Peter M. Brigham
[email protected]
http://home.comcast.net/~pmbrig
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode