This chapter describes the
AppleScript reference forms, or the ways that you can specify or
refer to one or more objects in AppleScript code. First we will
describe the ten different reference forms, then the rest of the
chapter provides a reference to the actual AppleScript reserved words
(e.g., every
, thru
,
whose
) that you can use to identify or refer to
objects in your code.
Here are the ten different reference forms:
Using the reserved word some
, AppleScript code can grab a random object in a container. Here is an example:
tell application "Finder" (* get a random image file from a desktop folder *) set randomImage to some file of folder "jpegs" end tell
See the section on some
.
This type of reference form specifies every object of a certain class type in a container, such as:
tell application "Finder" set allFiles to every file in folder "today" (* returns a list of file objects *) end tell
See the section on every
.
The Filter reference form specifies objects based on certain
attributes, such as all files whose name ends with
.txt. The where
and
whose
reserved words are used in Filter
references. See the whose
section.
The ID reference form can be used to grab an object based on the
value of its ID property (if it has an ID property, that is.) The ID
reference form is expressed in code with the AppleScript
id
reserved word. See the id
section.
The popular Index reference form specifies an object based on its numbered or indexed position in a container. The following example shows two ways to get the first file on a disk:
telll application "Finder" get file 1 of disk "backup" get first file of disk "backup" end tell
See the sections on first
and
last
.
The Middle Element reference form is designed to get the middle
object of a certain class type in a container or the middle item of a
list. See the section on middle
.
The Name reference form identifies an object by its name, as in
"application
'Finder'"
. See the
name
section.
Using the Property reference form, your script can grab the value of
a property and store it in a variable, for instance. The property may
derive from an application
, a
date
object, a script
object,
or a record
value. Here are three examples of
using the Property reference form.
(* get the Finder's largest free block property *) tell application "Finder" set freeMemory to largest free block end tell (* returns the month property of a date object *) set mon to the month of (current date) (* gets the lastName property of a record object *) set prezName to lastName of¬ {firstName: "Abraham", lastName: "Lincoln"}
The Range reference form specifies a subset of objects within a
container. The return value is a list, or the code raises an error if
the container does not contain the specified range of objects. See
the every...from...to
section for some examples.
The Relative reference form describes an object based on its position compared with another object, such as in this example:
tell application " Finder" get the folder before the last folder in the startup disk end tell
See the sections on after
,
back
, before
, and
beginning
.
Table 5-1 shows the reserved words that you can use to specify objects in AppleScript code, but not all of the English language synonyms that you can use with these forms. The synonyms are included under the Synonyms heading for each reserved word’s section. The reference form is identified in parentheses.