### 25.2.9 Assignment by copying

The copy command creates a copy of its argument, which is typically a list of some type. If B is a list and A:=B, then A and B point to the same list, and so changing one will change the other. But if A:=copy(B), then A and B will point to different lists with the same values, and so can be changed individually.

#### Example

B:=[[4,5],[2,6]]:; A:=B:; C:=copy(B):; A,B,C

⎡
⎢
⎣

4 | 5
2 | 6

⎤
⎥
⎦

,

⎡
⎢
⎣

4 | 5
2 | 6

⎤
⎥
⎦

,

⎡
⎢
⎣

4 | 5
2 | 6

⎤
⎥
⎦

B[1]=<[0,0]:; A,B,C

⎡
⎢
⎣

4 | 5
0 | 0

⎤
⎥
⎦

,

⎡
⎢
⎣

4 | 5
0 | 0

⎤
⎥
⎦

,

⎡
⎢
⎣

4 | 5
2 | 6

⎤
⎥
⎦