Assigning and copying

When you assign a variable to another variable, that new variable points to the same value as the first variable:

;-- see Chapter03/bindings.red:a: [1 2 3] b: a b ;== [1 2 3]

Here, b returns the value in the console, inside a script you would use probe b or print b. We could show this visually as follows:

If the value of a changes, for example, by appending 4, we see that b still has the same value as a, which is evident because it points to the same value storage in memory:

append a 4a ;== [1 2 3 4]b ;== [1 2 3 4]

Here's a visual representation that can help you grasp it better:

It works like that for more complex objects ...

Get Learn Red - Fundamentals of Red now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.