首页 > 解决方案 > 使用带有数字块的红色语言中的“解析”

问题描述

我模仿来自 Helpin'Red 的以下代码

a: "big black cat"
parse a [ to "black" insert "FAT "]
print a
big FAT black cat

和我的:

b: [1 2 3]
parse b [to 2 insert 4]
print b
4 4 1 2 3 ;; but what I mean is "1 4 2 3".

我的代码有什么问题?以及如何得到我想要的结果?

标签: red

解决方案


  1. to将输入匹配到指定的规则,直到成功或到达结尾。
  2. 2匹配指定次数。
  3. insert 4在当前位置插入一个值,并且总是成功。
    1. 这意味着2 insert 4插入两个4并成功。
    2. to将输入“推进”到匹配的2 insert 4:我说“推进”是因为它确实没有,插入发生在头部。

要实现您想要的,您需要2使用以下命令进行转义quote

>> also block: [1 2 3] parse block [to quote 2 insert 4]
== [1 4 2 3]

仅供参考,Parse 有官方参考文档


推荐阅读