List
A list is a collection, corresponding roughly to what many other languages would call an array—it’s an ordered set of values. These values are its items. Each value can be of any datatype (including a list).
A literal list is delimited by curly braces. Its contents can be literal values, variable names, or any other expressions that AppleScript can evaluate meaningfully; they are separated by commas. The literal empty list is just a pair of curly braces. So:
set empty to {}
set pep to {"Mannie", "Moe"}
set pep3 to "Jack"
set pep to pep & {pep3} -- {"Mannie", "Moe", "Jack"}You can assign a list of values to a literal list of variable names or other references as a shorthand for performing multiple assignments. The assignments are performed pairwise in order: item 1 to item 1, item 2 to item 2, and so on. If the list of values is too long, the extra values are ignored; if it’s too short, there’s a runtime error. (See Section 7.1 and Section 10.2.2.) For example:
tell application "Finder"
set {oldname1, oldname2} to {name of folder 1, name of folder 2}
set {name of folder 1, name of folder 2} to {"f1", "f2"}
end tell
When you use
set (as opposed to copy) to set
a variable to a value that is a list, you set the variable
by reference. This means that the list is not
copied; the variable’s name becomes a new name for
the list, in addition to any names for the list that may already
exist.
The same is true when a list is passed as a parameter to a handler. This special treatment ...
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