当您使用 REDUCE 时,您基本上是在 DO 方言中操作,其中 PAREN! 组可用于项目的优先级:
>> reduce ["Hello" (3 + 4) * 5]
== ["Hello" 35]
在 COMPOSE 方言中,PAREN!用于标出您要使用 DO 方言评估块的哪些部分,不理会其余部分:
>> compose ["Hello" (3 + 4) * 5]
== ["Hello" 7 * 5]
但是,如果你想运行 reduce 或 compose 并有一些你想留下的东西作为文字括号,除了to-paren
一个块之外,还有其他的习惯用法吗?
>> reduce ["Hello" (3 + 4) * 5 to-paren ["inside!"]]
== ["Hello" 35 ("inside")]
旁注:我想知道 LIT-PAREN 会导致什么样的疯狂?
>> reduce ["Hello" (3 + 4) * 5 '("inside!")]
== ["Hello" 35 ("inside")]
……话说回来,我不知道我想考虑一下。:-)