which is faster for searching?

Beat Cornaz B.Cornaz at gmx.net
Fri Aug 29 05:58:39 EDT 2014


Bob Sneidar wrote :

> T he reason for all this is that to optimize the repeat loop, the engine makes one pass through the data, and creates an index of pointers to the delimiters. If you modify the data, the OS may (and probably will) do some memory shuffling > and the pointers will no longer be valid. What you return can be bits and pieces of the original data scrambled like eggs, or random bits of what is now in that memory space. Ick! 
> 
> ex. repeat for each line pLine in pData. Don?t alter pLine or pData inside the repeat control structure. 

I am on digest list form, so there probably have been people before me to address this. To be sure, here goes :

I think the first part of what Bob says is true, you cannot alter the original data. But as you go into each turn of the loop and take rLine (see) below as a chunck, you can do with rLine whatever you like. I do that all the time. Only if you change the original data ( e.g. tPermutations) then the thing fouls.

As an example :

on mouseUp
put empty into Changed

   repeat for each line rLine in tPermutations
      put 6 into item 3 of rLine      -- ** here I change rLine, which does not affect tPermutations
      put rLine & cr after Changed
   end repeat

end mouseUp

Beat Cornaz


More information about the use-livecode mailing list