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