Magic variables are engine maintained variables that serve a specific purpose within a given scope and are often used by the engine to push data to a given script or code fragment. They are usually no longer present after leaving the scope (e.g. after code execution, or after a forEach statement).
- The most frequently used magic variable probably is _this, which is used to make arguments of a script call (call, exec, execVM, spawn) visible and accessible to the script.
- Other uses of magic variables can be seen in forEach, where the current element can be accessed via _x and the current index with _forEachIndex.
- In the condition of the extended syntax of count variable _x refers to the current tested element.
- Triggers also define thisList and thisTrigger, which is however only accessible within the activation or deactivation script.
- Exception handling using a try..catch statement usually declare a magic variable named _exception, which contains details about the exception thrown in the try-block.