考虑SICP中的这两段:
此构造称为案例分析,并且有一种特殊形式 在Lisp中指出了这种案例分析。它称为cond( 代表“有条件的”),其用法如下:
...
如果条件类型的限制条件是 在案例分析中恰好有两个案例时可以使用。
在这种情况下,类型是什么意思(条件的受限类型)?它的意思是:
答案 0 :(得分:4)
在“ template<>
[是有条件的受限类型”中,我相信“有条件的”并不是专门指if
;通常,它表示“条件语句/表达式”。
因此有两个cond
和cond
。每个都可以用另一个来定义,因此给定的实现可以选择只将其中一个作为原语,用另一个来定义。或者实现可以选择将它们都作为原始特殊形式。
特殊形式由解释器(编译器)本身专门处理。
宏也可以用于此。然后,它们将不再由解释器本身处理,而是由其宏处理机制处理。
所以if
是有条件的; if
是有条件的; cond
可以具有任意数量的子句; cond
必须有两个(取决于标准的一个或两个)子句;其余所有都是英文。 :)