Skip to Content
Beginning AppleScript®
book

Beginning AppleScript®

by Stephen G. Kochan
December 2004
Beginner
600 pages
13h 42m
English
Wrox
Content preview from Beginning AppleScript®

4.7. Setting Up an Infinite Loop with repeat

If you simply write repeat, as in the following, you set up an infinite loop:

repeat
    statement
    statement
    ...
end repeat

Theoretically, this loop will execute forever, which of course, you don't want to happen. Therefore, you need some way to terminate the loop. Termination is usually based on some criteria, such as reaching the end of data or encountering some error condition. You can terminate execution of a repeat statement at any time by executing the following command:

exit repeat

When this command is executed, the loop is immediately terminated and execution continues with whatever follows the end repeat statement. If you execute this command within nested repeat statements, only the loop in which the command appears is terminated.

Incidentally, you have other ways to set up an infinite loop. For example, the following program counts to 10, as you saw with several other programs in this chapter:

set n to 1

repeat while true
    log n
    set n to n + 1
    if n > 10 then exit repeat
end repeat

Because true will always be, well, true, this repeat statement will theoretically execute forever, unless some action is taken to terminate the loop. After the value of n exceeds 10, the exit repeat is executed to exit from the loop. Certainly, this is not a very elegant way of doing things; I included it here for illustrative purposes only.

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Take Control of Your M-Series Mac

Take Control of Your M-Series Mac

Glenn Fleishman

Publisher Resources

ISBN: 9780764574009Purchase book