On 2016-04-29 04:30, Kay C Lan wrote:
On Thu, Apr 28, 2016 at 11:47 PM, Mark Waddingham <m...@livecode.com> wrote:


From 7.0 onwards, this causes no problem as the engine takes a 'copy' of the target variable at the start of the loop. (Note you only pay for that copy when you mutate tList subsequently, and that mutation has no effect on
the repeat for each loop being performed).

Oh, so if your repeat script works now in LC 7/8 it comes with a Mark W
guarantee that it'll work in the future. ;-) Cool!

Does that mean the 'Important' note in the LC 8 Dictionary entry for
'repeat' isn't so Important any more?

Important: In any of the for each loops, you should not change the
labelVariable or container in a statement inside the loop. Doing so will
not cause a script error, but will almost certainly produce unexpected
results.

Yes! That note should probably be replaced by one which says you can modify the target variable in the loop, but it won't have an effect on what is being repeated over. (I'm sure there's a better way to express that).

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
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

Reply via email to