アナフォリックマクロ
名前は難しい響きだが、行っていることは非常に簡単で、
「酔っ払って全裸になったが、周囲からは"その"行為を批判された」というような文の、"その"の部分のことを、言語学で「照応(anaphora)」と呼ぶことが名前の由来。
Paul Graham氏の著作On Lispで有名になったと思われ、awhenや、aand等バリエーションが多くある。
(let ((foo (evenp (random 10)))) (if foo (print foo) 'else))のように書くところを
(aif (evenp (random 10)) (print it) 'else)という風に述部の評価結果を、後ろの節のitで簡便に参照できるよう拡張する試み。
「酔っ払って全裸になったが、周囲からは"その"行為を批判された」というような文の、"その"の部分のことを、言語学で「照応(anaphora)」と呼ぶことが名前の由来。
Paul Graham氏の著作On Lispで有名になったと思われ、awhenや、aand等バリエーションが多くある。
(if (setq it (evenp (random 10))) (print it) 'else)という書法でも似たような効果は得られる。
参考記事
2007年12月05日(水) 08:40:37 Modified by g000001