2011-10-23 7 views

答えて

7

はい。 ifを使用して、任意の条件

(if x y z) 

condを使用して同等の条件に変換することができる。

(cond ((x y) 
     (t z))) 
5

ウェル「条件」の周りのマクロとして実装することができる「IF」。 "cond"は実際の "プリミティブ"で、 "if"ではありません。

+5

CLHSではなく、 'cond'がマクロとしてリストされ、' if'が特殊演算子としてリストされています。これはSchemeと同じです。ここで 'cond'は' if'のマクロです。 –

+0

Chris:CL(この質問にタグ付けされていた)ではtrueですが、必ずしもすべての方言である必要はありません。 McCarthyのオリジナルでは、CONDは7つのプリミティブのうちの1つでした(http://www.paulgraham.com/rootsoflisp.html)。もちろん、どちらがプリミティブで、どれがマクロであるかは重要ではありません。 – Ken

関連する問題