deleteDups() [a bit OT]
Eric Chatonet
eric.chatonet at sosmartsoftware.com
Wed Nov 16 14:02:28 EST 2005
Hi all,
I would like only to point out the beauty of XTalks languages: you
have always many ways to do a thing.
Some can be verbose, difficult to read, not optimised but work.
Other are more elegant, shorter and/or faster.
In all cases, I would call that creativity :-)
That's one of the reasons why this list is so much friendly and
reactive.
Best Regards from Paris,
Eric Chatonet.
PS. Jacque, I love your solution...
As usual, women come immediately to essential ;-)
Le 16 nov. 05 à 17:24, Geoff Canyon a écrit :
>
> On Nov 16, 2005, at 7:29 AM, HyperChris at aol.com wrote:
>
>> Chris wrote:
>> function deleteDups pList
>> repeat with x=number of lines in pList down to 2
>> if line x of pList is line (x-1) of pList then delete line x
>> of pList
>> end repeat
>> return pList
>> end deleteDups
>>
>> then Eric Chatonet wrote ...
>> function deleteDups pList
>> local tLine,tStrippedList
>> -----
>> repeat for each line tLine in pList
>> if tLine is not among the lines of tStrippedList
>> then put tLine & cr after tStrippedList
>> end repeat
>> return word 1 to -1 of tStrippedList
>> end deleteDups
>>
>> then J. Landman Gay wrote ...
>> function deleteDups pList
>> split pList by cr and numToChar(3)
>> return keys(pList)
>> end deleteDups
>>
>>
>> You have enlarged my universe. Using "for each" is several orders of
>> magnitude faster than my original script and "split" is faster still.
>
> Bother -- it happened again. First we had repeat for each turning
> up faster than the filter command. Now I've done a test on the
> following, and it looks like the split command takes not quite
> twice as long as repeat for each (when repeat for each is handled
> the following way).
>
> function deleteDupes pList -- does _not_ retain sort order
> repeat for each line L in pList
> put 1 into temp[L]
> end repeat
> return the keys of temp
> end deleteDupes
----------------------------------------------------------------
So Smart Software
For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch
Free plugins and tutorials on my website
----------------------------------------------------------------
Web site http://www.sosmartsoftware.com/
Email eric.chatonet at sosmartsoftware.com/
Phone 33 (0)1 43 31 77 62
Mobile 33 (0)6 20 74 50 86
----------------------------------------------------------------
More information about the use-livecode
mailing list