On 06/20/2014 08:18 PM, Peter Haworth wrote:
Wondering if anyone has an elegant way of exiting all the way out of a set
of nested repeat loops., e.g:
repeat for...
repeat for...
repeat for....
repeat for
if ..... then <I want to exit out of the outermost repeat loop
here>
end repeat
<do this and that>
end repeat
<do this and that>
end repeat
<do this and that>
end repeat
Right now, I set a flag to true when the exit condition is met then test it
in the <do this and that> stuff. Works fine but feels a little kludgy.
Pete
Maybe I've completely failed to understand what it is you don't like
about your current method, but...
Would it be practical and feel cleaner to wrap your nested repeats
inside a command, say,'doLoop'. When your 'if' condition in the nth
repeat is met, you 'exit doLoop'. You only have to reference and check a
condition once this way and you cleanly exit the entire nested structure
exactly when and where the condition is found.
A useless example that works:
Create a card with four fields and a button. Put this script in the button:
on mouseUp
doLoop
answer "exited loop"
end mouseUp
on doLoop
repeat 10 times
add 1 to field 1
repeat 10 times
add 1 to field 2
repeat 10 times
add 1 to field 3
repeat 10 times
if field 3 is 3 then exit doLoop
add 1 to field 4
end repeat
end repeat
end repeat
end repeat
end doLoop
Warren
_______________________________________________
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