Result
At runtime, a line of AppleScript code that actually executes an expression—that is, it isn't blank, a comment, or mere flow control (looping and branching)—will usually generate a result . This result is some sort of value; the particular value depends upon what the line does.
The line need not be a command; any valid AppleScript expression constitutes a valid line, even if it does nothing. For example, this is a valid line of AppleScript code, and it has a value (can you guess what it is?):
5
A line's result may be captured in two ways: explicitly or implicitly. The next two sections describe them both. As you'll see, my view is that in general you should not make any use of the fact that a line of code has a result. However, the exception proves the rule, so I will also suggest that in just one situation (while developing your code) capturing a line's value implicitly is useful.
Explicit Result
The result of a line after it is executed may be captured explicitly by using the keyword result
in the next line that is executed. For example:
5
display dialog result 5
One sees this technique used typically after fetching a value in a context of interapplication communication. For example, this is a fairly common style of coding:
tell application "Finder" get the name of every folder end tell set L to the result
Here's another example:
tell application "Finder" count folders end tell set c to the result
Why is this technique so common? It may be a habit derived from HyperTalk , where ...
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.