Chapter 8. Handlers
A
handler is a subroutine within a script. A
handler is defined using a block of code that
starts with the keyword on
, with syntax of this sort:
onhandlerName
( ) -- commands within the handler endhandlerName
A synonym for on
is to
.
Tip
When typing a handler definition, don’t bother to
type the name of the handler a second time in the
end
line. Just type end
for
that line; the compiler will fill in the name of the handler.
A handler definition contains the code to be executed when the handler runs, but the mere presence of the definition does not itself cause such execution. A handler’s code is run when an executed line of code calls the handler, using a corresponding syntax:
handlerName
( )
The parentheses may not actually appear in the definition or the call; these are just vague syntax templates to get the discussion started. I’ll explain the syntax of handler definitions and calls later in this chapter.
A handler is an important form of flow control, and leads to better-behaved, better-organized, more reusable, and more legible code. With a handler, the same code can be reused in different places in a script. Even if a handler is going to be called only once in the course of a script, it’s a useful device because it names a block of code, and this name can be made informative as to the block’s purpose.
Also, a handler can be called from elsewhere, so that only a specific part of a script or script object is executed. We saw this earlier in demonstrating folder ...
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.