<doc>
  <legacy_id>3026</legacy_id>
  <name>@</name>
  <type>keyword</type>
  <syntax>
  </syntax>
  <library></library>
  <objects>
  </objects>
  <synonyms>
  </synonyms>
  <classification>
    <category>Values &amp; Properties</category>
    <category>The System Environment</category>
  </classification>
  <references>
    <keyword tag="$">$ Keyword</keyword>
  </references>
  <history>
    <introduced version="1.0">Added.</introduced>
  </history>
  <platforms>
    <mac/>
    <windows/>
    <linux/>
    <ios/>
    <android/>
  </platforms>
  <classes>
    <desktop/>
    <server/>
    <web/>
    <mobile/>
  </classes>
  <security>
  </security>
  <summary>The character @ (at sign) is used with a parameter declaration, to indicate that a reference to the parameter is passed instead of its value.</summary>
  <examples>
    <example>on setVariable @incomingVar -- notice the @ before the parameter name</p><p>  add 1 to incomingVar</p><p>end setVariable</example>
    <example>on mouseUp</p><p>  put 8 into someVariable</p><p>  setVariable someVariable</p><p>  answer "someVariable is now: " &amp; someVariable</p><p>end mouseUp</example>
  </examples>
  <description>
    <p>The character @ is placed before a parameter name to pass a reference to the parameter instead of its value. Pass a parameter reference when you want a handler to change a variable in the calling handler, or when you want a handler to return more than one value.</p><p/><p><b>Comments:</b></p><p>Parameters to a handler are declared on the first line of the handler. If the name of a parameter is preceded with the @ character, that parameter's value is interpreted as a variable name, rather than the value in the variable. Changing the parameter variable in the called handler changes the value of the variable in the calling handler.</p><p/><p>In the above example, the handler setVariable takes a parameter and simply adds 1 to it. Because the parameter for the handler is declared with a leading @, the mouseUp handler passes "someVariable" by reference. This means that when the setVariable handler makes changes to the parameter, it changes the actual variable, and those changes affect all further references in the mouseUp handler to the variable. Executing this mouseUp handler displays a dialog box that says "someVariable is now: 9"</p>
  </description>
</doc>