Me
The keyword
me represents the current
script—the script or script object that is running the code
where the keyword me appears. Thus:
script myScript
me -- «script myScript»
end script
run myScript
me -- «script»
, the anonymous top-level script
parent of me -- «script AppleScript»See also Section 9.7.3. In situations where you would
say of me after a word, you may say
my before that word instead.
We saw the keyword
me used earlier (Section 9.7) as
a way to force AppleScript to attempt to interpret a term as
belonging to the current script object, so that it will use the
inheritance chain.
The keyword me can be useful in a
tell
block, to specify the current script as the target instead of the
tell block’s target. For example, this
doesn’t work:
on reverseString(s)
set the text item delimiters to ""
return (reverse of characters of s) as string
end reverseString
tell application "Finder"
set name of folder 1 to reverseString(get name of folder 1) -- error
end tellThe problem is that when we come to the handler call
reverseString( ) in the next-to-last line, the
target is the Finder. So AppleScript passes it along to the Finder,
which doesn’t know what to do with it. The target
for reverseString needs to be
me, even though the target of everything else in
that line should be the Finder. This is just the kind of situation
where me comes in handy:
set name of folder 1 to my reverseString(get name of folder 1)
But me won’t also resolve a
terminology
clash
between a name defined by ...
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