该DO方言使用类别PAREN的系列! 为优先,并且通常会蒸发掉底层括号结构调用的功能之前进行。
然而,过去可能在Rebol的2到你希望它为调用抑制括号的评价函数的定义中指定。 通过使用一个参数“真言”撇号标记这样做:
evaluated: func [param] [probe param]
non-evaluated: func ['param] [probe param]
>> evaluated (1 + 2)
3
>> non-evaluated (1 + 2)
(1 + 2)
所以,你得到通过一系列! 分类型,类PAREN的......在这种情况下,有三个标志性元素里面: 1
, +
, 2
。 这并不在Rebol的3个工作:
>> non-evaluated (1 + 2)
3
这是一个错误或有目的的设计决策? 有没有解决办法? 需要注意的是把报价运营商在调用点是行不通的,因为当时它象征词quote
是被引述,然后括号! 对自己被评价成为表达的终值: - /
>> non-evaluated quote (1 + 2)
quote
== 3