Run Handler

Every script object has exactly one run handler. This may be explicit (all the code marked off by an on run block) or implicit (all the code at the top level of the script object). See "Code and the Run Handler" in Chapter 6.

To execute the code in a script object's run handler, you send the run message to it. You can do this by making the script object the direct object of the run command, or by saying run within a tell block targeting the script object. So, for example:

script s
    display dialog "howdy"
end script
run s -- Howdy

Or:

script s
    display dialog "howdy"
end script
tell s
    run -- Howdy
end tell

A one-line tell block can be reduced to a single line of code with no block:

script s
    display dialog "howdy"
end script
tell s to run -- Howdy

(On the result of a run handler, see "Returned Value" in Chapter 9. On passing parameters to a run handler, see "The Run Handler" in Chapter 9.)

Warning

If a script object has no explicit run handler and has no executable statements in its implicit run handler, telling it to run can have unpredictable consequences (this fact is almost certainly a bug). For example, this would be a bad thing to do:

script myScript
end script
run myScript -- error: stack overflow 

Get AppleScript: The Definitive Guide, 2nd Edition 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.