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 5One 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 resultHere's another example:
tell application "Finder"
count folders
end tell
set c to the resultWhy is this technique so common? It may be a habit derived from HyperTalk , where ...
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