This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
manual:Variables [2019/09/14 18:05] JMichaelTX Move section on var naming rules to top |
manual:Variables [2019/09/14 18:18] JMichaelTX |
||
---|---|---|---|
Line 9: | Line 9: | ||
Anywhere an [[:Actions|Action]] requires a Variable, you can enter any name you like (even though often a default name is provided), as long as it conforms to these rules: | Anywhere an [[:Actions|Action]] requires a Variable, you can enter any name you like (even though often a default name is provided), as long as it conforms to these rules: | ||
- Variable names must start with a letter, and then can contain letters, numbers, spaces, or underscores. | - Variable names must start with a letter, and then can contain letters, numbers, spaces, or underscores. | ||
- | - Some Variable types require a specific prefix (see _Scope_ below). | + | - Some Variable kinds require a specific prefix (see _Scope_ below). |
- Variable names are case insensitive, but their case is remembered. | - Variable names are case insensitive, but their case is remembered. | ||
- Variable names should not include a function or operator name with spaces around it. | - Variable names should not include a function or operator name with spaces around it. | ||
Line 23: | Line 23: | ||
| **Global**, Permanent variables | • Accessible basically everywhere, including Scripts.\\ • You can also see and edit variables in the Preferences.\\ • You can see global variables in the [[Windows#Value_Inspector_Window |Value Inspector]]. | | | **Global**, Permanent variables | • Accessible basically everywhere, including Scripts.\\ • You can also see and edit variables in the Preferences.\\ • You can see global variables in the [[Windows#Value_Inspector_Window |Value Inspector]]. | | ||
| **Password**, Semi-permanent variables | • Available to macros but not displayed.\\ • Not directly accessible via AppleScript.\\ • Concealed in password fields in Prompt For User Input actions.\\ • Not saved to disk. | | | **Password**, Semi-permanent variables | • Available to macros but not displayed.\\ • Not directly accessible via AppleScript.\\ • Concealed in password fields in Prompt For User Input actions.\\ • Not saved to disk. | | ||
- | | **Instance** Variables (v8+) | • Name must begin with "instance" (case insensitive).\\ • Restricted to a specific execution sequence.\\ • Available to the Macro where it was created and Sub-Macros of that Macro, for a given execution instance of the main macro.\\ • These Variables are private to each execution of the same Macro, even when running simultaneously.\\ • Accessible by [[action:Prompt_for_User_Input|Prompt For User Input]]\\ • As of v8.0.3, is accessible by scripts (when used in an Execute Script Action).\\ • Accessible by [[action:Custom_HTML_Prompt|Custom HTML Prompt]] (v8.0.3+).\\ • Accessible by AppleScript with the instance specifier. | | + | | **[[#Instance_Variables_v8|Instance]]** Variables (v8+)\\ Auto-deleted when Macro terminates | • Name must begin with "instance" (case insensitive).\\ • Restricted to a specific execution sequence.\\ • Available to the Macro where it was created and Sub-Macros of that Macro, for a given execution instance of the main macro.\\ • These Variables are private to each execution of the same Macro, even when running simultaneously.\\ • Accessible by [[action:Prompt_for_User_Input|Prompt For User Input]]\\ • As of v8.0.3, is accessible by scripts (when used in an Execute Script Action).\\ • Accessible by [[action:Custom_HTML_Prompt|Custom HTML Prompt]] (v8.0.3+).\\ • Accessible by AppleScript with the instance specifier. | |
- | | **Local** Variables (v8+) | • Name must begin with "local" (case insensitive)\\ • Restricted to the specific Macro it is in.\\ • //Not// available to any of its Sub-Macros\\ • Same accessibility as Instance Variables. | | + | | **[[#Local_Variables_v8|Local]]** Variables (v8+)\\ Auto-deleted when Macro terminates | • Name must begin with "local" (case insensitive)\\ • Restricted to the specific Macro it is in.\\ • //Not// available to any of its Sub-Macros\\ • Same accessibility as Instance Variables. | |
| **[[manual:Dictionaries|Dictionary]]**, Permanent, global in scope. | • Accessible basically Everywhere, including Scripts.\\ • Dictionaries consist of the //Dictionary Name//, One or more pairs of //Key Name//, and //Value//.\\ • Although Dictionaries are sort of like structured //Variables//, they are kept in a separate category called //[[manual:Dictionaries|Dictionaries]]//. | | | **[[manual:Dictionaries|Dictionary]]**, Permanent, global in scope. | • Accessible basically Everywhere, including Scripts.\\ • Dictionaries consist of the //Dictionary Name//, One or more pairs of //Key Name//, and //Value//.\\ • Although Dictionaries are sort of like structured //Variables//, they are kept in a separate category called //[[manual:Dictionaries|Dictionaries]]//. | | ||