Chapter 16. Global Properties
AppleScript's global properties
are essentially predefined
variables; they are named values that exist automatically, without your code having to define them. Your code can access them because they are in scope
in every script, thanks to the inheritance mechanism (see "Inheritance" in Chapter 8). Your script as a whole is a script object whose parent, by default, is another script object called AppleScript, which represents the AppleScript scripting component instance. These predefined variables are properties of the AppleScript script object. Thus the inheritance mechanism makes them global; no matter where you are when you access one of them, it is sought as a top-level entity up the parent chain until the AppleScript script object is reached. Even if the name
of a global property is overshadowed in some scope of your script, it can still be accessed through the name AppleScript. For example:
property pi : 3
AppleScript's pi -- 3.14159265359The global properties are like any other script properties, and as such:
They are settable.
Their values are shared by all scripts running under this instance of the AppleScript scripting component.
They persist along with this instance of the AppleScript scripting component.
The status of the global script properties is thus somewhat counterintuitive. You might have thought values such as pi and tab would remain constant. That's not the case. You can change the value of one of them, and then this script and any ...
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