Changing items – poke, replace, and change

There are two ways to change an item in a series. Let's use data: [A B C D], where ABC and D are all words. Suppose we want to replace C with the word X. We can do this as follows:

  • Binding to a path specified by the item index—for example, data/3: 'X   ;== X. Now data has become [A B X D]. Why do we need 'X instead of just X? The reason is that when you're binding to a word, this word is evaluated. So you have to quote the X word in order to prevent evaluation. If you don't do this and use data/3: X, you'd get a Script Error: X has no value.
  • Specifying the item index using poke, such as poke data 3 'X (the position comes first, then the new value).

(To replace C with the string "X" , we just ...

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.