Looping
The other major form
of choice is looping, which involves branching
back to the start of a block repeatedly. In AppleScript, looping is
performed with repeat
. There are several varieties
of repeat
, but repeat
blocks
all take same basic form:
repeat whatKindOfRepeat
-- what to do
end repeat
The big question with a repeat
block is how you’re going to get out of it.
Obviously you don’t want to repeat the repeat block
forever, since this will be an infinite loop and will cause the computer
to hang. Usually you deal with this through the nature of the
whatKindOfRepeat
, which typically provides
a condition to be evaluated, as a way of deciding whether to loop
again, or some other form of instruction governing how many times the
block will be repeated.
There are also some special commands for hustling things along by leaping completely out of the repeat block. They can be used with any form of repeat block. Here they are:
-
return
This command leaves the repeat block by virtue of the fact that it terminates execution of the handler or script.
-
exit repeat
This command exits the innermost repeat block in which it occurs. Execution resumes after the
end repeat
line.
Repeat Forever
A repeat block with no
whatKindOfRepeat
clause repeats
unconditionally, whence forever. Obviously you don’t
really want it to repeat forever, so
it’s up to you to supply a way out. I just told you
two ways out. A third is to loop inside a try block and to throw an error; this method is illustrated later ...
Get AppleScript: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.