Tell
A tell block , like an if block, comes in two forms: a genuine block and a single-line version. The block form is like this:
tell target
-- code targeting this target
end tellThe single-line version is like this:
telltargettocommand
A tell block performs two distinct functions:
It determines (at runtime) the target of the commands within the block.
It dictates (at compile time) the source that will be used for the resolution of the terminology that appears within the block.
The fact that a tell block does both these things makes a certain sense. After all, if you're going to be sending messages to the Finder, you're probably going to want to use the Finder's terminology. Nevertheless, the two functions are distinct, and it is possible to do either one without the other:
To target an application without resolving any terminology, address it entirely by means of
of, without usingtell:get frontmost of application "Finder" -- falseThat works because the term
frontmostis defined by AppleScript itself, so there is no terminology to resolve; the Finder is targeted and a reply comes back.To resolve an application's terminology without targeting it, use a terms block (see the next section, "Using Terms From"):
using terms from application "Finder" set f to a reference to folder 1 end using terms fromThat works because the terms block uses the Finder's dictionary to resolve the term
folder; the Finder is not targeted (we're just forming a reference).
If the target in a tell block is an ...
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