Chapter 7. Variables
This chapter describes the rules for assignment , declaration, typing, initialization, and naming of variables in the AppleScript language.
Assignment and Retrieval
If a variable is a labelled shoebox (see "Variables" in Chapter 6), then to assign a value to a variable is to put something into the shoebox. If the variable already has a value, that value is replaced.
Assignment is performed with one of two commands: set or copy.
Reference Section
Reference Section
There is no simple assignment operator, such as the equals sign (=). You cannot, for example, perform an assignment like this:
x = 5
That is a comparison, and returns a boolean result revealing whether x is already 5. That code is legal (and therefore does not cause a compile-time error) but is not an assignment (as any mildly experienced programmer would expect); this is a frequent cause of bugs in my scripts. See "The "English-likeness" Monster" in Chapter 4.
Set by Reference
As they both perform assignment, you might think set and copy must be completely interchangeable. In most cases, they are; but with regard to four types of value—lists, records, dates, and script objects—they are not. With these data types, set sets by reference, meaning that you can end up with more than one name for the same value.
The reason why these four data types are singled out for special treatment is that they are the only kinds of value that can be mutated in place. Thus, after a set by reference, whatever mutation is performed ...
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