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 repeatTip
Loops involve repetition—perhaps a lot of repetition. Therefore, although I'm no great believer in worrying too much about optimization, if you're going to optimize your code anywhere, loops are the place to do it. A small increase in speed can add up tremendously over multiple repetitions. See Chapter 22.
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
, because that would be an infinite loop
and would cause the computer to hang. Most kinds of repeat block include some instruction (as symbolized by whatKindOfRepeat in the syntax template), such as a condition to be evaluated, as a way of deciding whether to loop again.
There are also some special commands for hustling things along by leaping completely out of the repeat block from inside it. These are the premature terminations of a repeat block. They can be used with any form of repeat block. Here they are:
-
exit repeat This statement exits the innermost repeat block in which it occurs. Execution resumes after the
end repeatline.- try block
If the repeat block is inside a try block, throwing an error exits the repeat block by virtue of the fact that ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access