Reverse a list

Mike Bonner bonnmike at gmail.com
Sun Feb 8 17:09:14 EST 2015


Just curious.. How does this compare?

local scount
on mouseUp
   put the number of lines in field 1 + 1 into scount
   sort lines of field 1 by getCount()
end mouseUp

function getCount
   subtract 1 from sCount
   return sCount
end getCount

On Sun, Feb 8, 2015 at 2:52 PM, J. Landman Gay <jacque at hyperactivesw.com>
wrote:

> Just tinkering around on a lazy Sunday, and I thought I'd come up with a
> neat way to reverse a list without using the traditional clunky method:
>
> function reverseSort pList
>   repeat for each line l in pList
>     put l & cr before tList
>   end repeat
>   return tList
> end reverseSort
>
> One of the best things I learned from a past LC converence came from Jerry
> Daniels who said "let the engine do it." It's almost always faster and more
> efficient. With that in mind I wrote this:
>
> local sNum
>
> function reverseText pList
>   put the number of lines in pList into sNum
>   sort lines of pList numeric by reverseSort(each)
>   return pList
> end reverseText
>
> function reverseSort pTxt
>   subtract 1 from sNum
>   return sNum && pTxt
> end reverseSort
>
> Works great and I was proud. Then I did some timing tests and found out
> the two methods are very close to equivalent in timing, and on long lists,
> the first way is actually faster.
>
> So much for improving on LC's text chunking speed. Pah.
>
> --
> Jacqueline Landman Gay         |     jacque at hyperactivesw.com
> HyperActive Software           |     http://www.hyperactivesw.com
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>



More information about the use-livecode mailing list