改变路径或改进

时间:2017-03-09 13:33:38

标签: rebol red

我想将块内的a/b更改为a/c(或甚至可能a

我这样做的正常方法是使用change

test: [a/b]
change test/1 'c

但它只会更改第一部分,即ac

>> test
== [c/b]

无法使用test/2访问路径:

>> reduce [test/1 test/2]
== [a/b none]

1 个答案:

答案 0 :(得分:1)

这里有两点需要注意:

首先,path!是一个系列,所以在这种情况下,是一个嵌套系列。必须实际访问第二个元素 元素

元素

>> test: [a/b] test/1/2
== b

其次,使用系列的属性使它们像指针一样运行next元素而不是直接访问它

>> next test/1
== b

所以代码变成:

>> change next test/1 'c test
== [a/c]