2

我有一大堆词[x y],我想做一个块[x: (x) y: (y)]

这不太管用:

>> b: [x y]
== [x y]
>> collect [foreach w b [keep to-set-word w keep to-paren w]]
== [x: x y: y]
4

1 回答 1

2

keepappend收集参数值时依赖于一个动作,因此paren!参数将看到附加的每个包含的值,而不是整个括号系列(与任何其他any-block!类型相同)。为了将括号系列附加为单个值,请使用keep/only(然后将在append/only内部使用)。

>> b: [x y]
== [x y]
>> collect [foreach w b [keep to-set-word w keep/only to-paren w]]
== [x: (x) y: (y)]
于 2017-05-04T04:04:45.270 回答