<!-- PDF page 7 -->

```
x,y=10,20
```

which are equivalent, or in a more descriptive manner:

```
LET numberA,numberB,stringA$,stringB$ =
1,2,"hello","goodbye"
```

One, extremely handy functionality of assignments is that in the case of assignment of multiple variables, if there are fewer values after the = operator than the variables before it, then all the remaining variables get initialised to that specific value. The following line:

```
a,b,c,d,e,f=0
```

will create variables **a**, **b**, **c**, **d**, **e** and **f** and set them all to **0**. Similarly the following line:

```
a,b,c,d,e,f=10,20,30,1
```

will assign **10** to variable **a**, **20** to variable **b**, **30** to variable **c** and **1** to variables **d**, **e** and **f**. In the example above we could remove altogether line 10 and instead enter:

```
15 a,b=10,15
```

which is functionally equivalent to both lines 10 and 15!

Finally, assignments can be made cumulative with the use of special combination operators as seen in the table below:

| Assignment Operator | Numeric Variables | String Variables |
|---|---|---|
| += | Increases variable by the value assigned | Concatenates string variable with the string assigned |
| −= | Decreases variable by the value assigned | – Not Applicable – |
| **\***= | Multiplies variable by the value assigned | Replicates the string variable as many times as the numeric value assigned |
| /= | Divides variable by the value assigned | – Not Applicable – |
| ^= | Raises variable to the power assigned | – Not Applicable – |
| **&**= | ANDs variable with the value assigned | – Not Applicable – |
| \|= | ORs variable with the value assigned | – Not Applicable – |
| ^\|= | XORs variable with the value assigned | – Not Applicable – |
| <<= | Shifts left the variable as many positions as the value assigned | – Not Applicable – |
| >>= | Shifts right the variable as many positions as the value assigned | – Not Applicable – |
| **MOD**= | Performs a MODulo operation on the variable with the value assigned | – Not Applicable – |

*Table 2 – Accumulation assignments*

This allows us to be a bit more terse when writing a program by reducing the amount of text we have to type, making for some more readable code. Consider the following example:

```
10 LET a=10
15 LET b=15
20 LET c=a
30 LET a=a+b
40 LET b=b+c
```

Using the information we've just learned, we can rewrite it to use multiple assignment statements as well as cumulative assignment operators like so:

