Variables are used to store values that change during the execution of your program.
Variables should be declared in your program before use. Declaring a variable means defining a name and type for the variable and, optionally, an initial value.
The general syntax for declaring a variable is:
Declaration Identifier : Type = Expression
Multiple variables may be declared in one statement using the comma separator.
In [Strict] mode, if the type of a variable is omitted, the variable defaults to being of type Int. In SuperStrict mode the type is mandatory. If the initial value expression is omitted, the variable is assigned an initial value of Null.
There are 3 kinds of variable, each of which differs by how and where the variable is stored:
Local variables are used to store temporary values that will eventually be discarded. Local variables are associated with the block of code they are declared in, and are only visible to code within that block. A block of code is represented by one of the following:
The body of a function or loop
The body of an if/then/else statement
The body of a case or default statement
To declare a local variable, use a Local declaration:
Local int_var Local string_var:String = "Str", float_var:Float = 10.5
Global variables are variables that exist for the entire lifetime of a program.
To declare a global variable, use a Global declaration:
Global int_var Global string_var:String = "Str", float_var:Float = 10.5
Field variables are declared within user-defined types using a Field declaration:
Field int_var Field string_var:String = "Str", float_var:Float = 10.5
See the user-defined types section for more on field variables.
Once declared, a variable's value may be changed using an assignment statement:
Variable = Expression
You can also perform modifying assignments, which are shorthand for
Variable = Variable Operator Expression.
The syntax for modifying assignments is:
|Bitwise exclusive or|
|Bitwise shift left|
|Bitwise shift right|
|Arithmetic shift right|
For example, the code
my_var :+ 1 can be used in place of
my_var = my_var + 1.