 ## Variable Operations

The following operations are supported in SLUDGE:

A + B

If both values are numbers, the result is the total of the two numbers. If one value is not a number, the result is a string containing the string representation of the first value followed by the string representation of the second. For example, 1+2 is the number 3, whereas 1+"2" is the string "12".

A - B

Both values must be numbers. The result is the first number minus the second.

A * B

Both values must be numbers. The result is the first number multiplied by the second.

A / B

Both values must be numbers. The result is the first number divided by the second. The second number cannot be 0.

A % B

Both values must be numbers. The result is the remainder when the first number is divided by the second (or the modulus). The second number cannot be 0.

A && B

Both values are treated as boolean. The result is true if both values are TRUE, otherwise it is FALSE..

A || B

Both values are treated as boolean. The result is TRUE if either value is TRUE, otherwise it is FALSE.

A = B

Changes the value of A so that it now contains the same data as B. The same value is given as the result, meaning that the code A=B=C=D=E=8 will set all five variables to the numerical value 8.

A == B

The result is TRUE if both values are of the same type and if the contents match, otherwise it is FALSE.

A != B

The result is FALSE if both values are of the same type and if the contents match, otherwise it is TRUE.

A > B

Both values must be numbers. The result is TRUE if the first number is greater than the second, otherwise it is FALSE.

A < B

Both values must be numbers. The result is TRUE if the first number is less than the second, otherwise it is FALSE.

- A

The value must be a number. The result is 0 minus the original value.

! A

The value is treated as boolean. The result is FALSE if the value is TRUE, and TRUE if the value is FALSE.

A ? B : C

The first value is treated as boolean. The result is B if the value is TRUE and C if the value is FALSE.

A ++

Increases the value of A by 1. A must be a number; if not, the code has no effect. The return value is the old value of A.

A --

Decreases the value of A by 1. A must be a number; if not, the code has no effect. The return value is the old value of A.

A += B

Adds A to B and stores the result in A. *

A -= B

Takes B from A and stores the result in A. *

A *= B

Multiplies A and B and stores the result in A. *

A /= B

Divides A by B and stores the result in A. *

A %= B

Performs the operation A % B and stores the result in A. *

(For operations in which the value or values must be numbers, the engine will quit with a Fatal Error message box if non-numbers are used.)