Once you have declared a variable you can assign values to it using the = operator. The variable on the left side of the = operator is assigned the value of the expression on the right side of the operator. For example:
$x = $y * 10;
If you assign a value that does not match the type of the variable, the MEL interpreter will try to convert the value into the variables type.
// Declare the variables...
float $foo;
float $bar;
int $baz;
// Now assign values...
$test = 5.4;
// value of $test is 5.4
$bar = $test + 2;
// value of $bar is 7.4
$baz = $bar;
// the value of $baz is 7
// MEL converted the value to an integer.
An assignment evaluates as the assigned value.
Combining declaration and assignment
For convenience you can assign a value to a variable when you create it. For example:
float $param = 1.5;
int $counter = 10;
string $name = "Alice";
vector $position = <<1.5, 2.5, 3.5>>;
If the type of a variable is obvious from the value you assign to it, you can leave out the type keyword. For example:
$name = "Alice";
$position = <<1.5, 2.5, 3.5>>;
This is called an implicit declaration. However it’s good practice to use the always use the type keyword to make your scripts more readable.
When you are assigning the same value to several variables, you can chain the assignments together:
$x = $y = $z = 0;
Convenience assignment operators
The following type of expression occurs often when you are programming:
$x = $x + 1;
This is so common that MEL provides several convenience operators to accomplish this with less typing. For example:
$x++ // adds 1 to the value of $x
$x-- // subtracts 1 from the value of $x
$x += 5 // adds 5 to the value of $x
$x -= 3 // subtracts 3 from the value of $x