Hello Bob, --Earlier Scott posted: > on mouseUp > set the itemDelimiter to tab > put field "All" into tBigData -- use this to compare with field "Rural" data > put tBigData into tBigData2 -- we will change this data as matches are found > put field "Rural" into tSmallData > --<snip>
This is why I put tBigData into a second variable tBigData2. Repeat for each uses tBigData and we change tBigData2. No conflict. Scott Morrow On Apr 28, 2011, at 10:40 AM, Bob Sneidar wrote: > It is absolutely faster. It was explained to me some time ago why. I think it > still applies, although I have not tried to test it. > > It is because the engine works directly on the memory used for the object (or > something like that). The problem is, the engine parses the memory and > creates a list of pointers to each chunk that you are looping by. (Someone > correct me if I am wrong about this.) If you change what is in that memory at > any time in the repeat loop, the pointers to the chunks you are looping by do > not update with it. So if the contents of the memory shift, the pointers no > longer point to what you think they do. > > In the past I often got garbage in the each variable at some point, leading > me to believe that the OS did some house cleaning and the contents of the > memory block was no longer valid. > > That has been my understanding, but if I am mistaken, or something has been > updated in the repeat for each algorithm, I'll be happy to know it. > > Bob > > > On Apr 28, 2011, at 10:01 AM, John Dixon wrote: > >> >> >> >> >>> Be careful with repeat for each. You cannot change the content of the >>> object or block you are repeating through. "Unexpected results" is an >>> understatement. You need to work with a copy, making sure you don't add or >>> remove the each element (each word, each line etc.) else you get out of >>> sync. >>> >>> Bob >> >> Using 'repeat for each' with a counter is still faster than 'repeat with' >> >> put 1 into count >> repeat for each line thisLine in fld 1 >> if line count of fld 1 = whatever then doSomething >> add 1 to count >> end repeat >> >> be well >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode@lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription >> preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode