Efficiency question for list modification

Alex Tweedly alex at tweedly.net
Thu Mar 10 15:07:32 EST 2011


use repeat for each line L ... and collect the modified lines in a 
separate variable, replace the original variable after the loop

repeat fer each line L in tData
    put ... & CR after temp
end repeat
put temp into tData

should be very quick.

-- Alex.
btw - not needed in this case, but you could use split/combine in it's 
"single separator" form
split tData by CR
repeat with i = 1 to the number of lines in the keys of tData
    put .... into tData[i]
end repeat
combine tData by CR



On 10/03/2011 18:51, FlexibleLearning wrote:
> Problem:
> I have a long list of several thousand lines.
> Each line contains two comma-separated numbers.
> I want to divide the first item of each line by one divisor, and divide the
> second item of each line by a different divisor.
> The list order must stay the same.
>
> Example:
> Using 2 and 5 as divisors...
>    10,10
>    12,15
>    8,12
> would become
>    5,2
>    6,3
>    4,2.4
>
> Options:
> Using "repeat with n=1 to num of lines" takes far too long.
> Using "repeat for each line L" either attempts to modify read-only data, or
> is only 25% faster using a dumping variable.
> Using split/combine will mess up the ordering (numeric array keys are not
> sorted numerically with combine).
>
> Any other ideas?
>
> Hugh Senior
> FLCo
>
>
>
>
>
> _______________________________________________
> 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