Parameters

A parameter is a value passed to a handler as it is called. A handler is defined to take a certain number of parameters; this can be any number, whatever the author of the handler feels is appropriate to what the handler does. (The details on the syntax of defining and calling a handler that has parameters are addressed in the next section; right now we’re just talking about what parameters are.)

For example, here’s a definition of a handler that takes two parameters, and a call to that handler:

on add(x, y)
        return x + y
end add
display dialog add(3, 2)

In the last line, the handler is called with the two parameters it requires. The value 3 is passed as the first parameter; the value 2 is passed as the second parameter. In the handler definition, names that effectively designate variables local to the handler have been declared. When the handler is called, and before it actually starts executing, these names are paired with the parameters that were passed, and the corresponding values are assigned. Thus, when add( ) is called on this occasion, it is as if it had a local variable x which has been initialized to 3, and a local variable y which has been initialized to 2.

Because the parameter names in the handler definition are local to the handler, they are invisible outside it. That’s good. Any parameter names may be used within the handler without fear of confusion with other names outside the handler. For example:

on add(x, y) return x + y end add set x to 2 set y to ...

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.