【发布时间】:2015-01-29 23:23:57
【问题描述】:
when 宏的代码取自 subr.el
(defmacro when (cond &rest body)
(declare (indent 1) (debug t))
(list 'if cond (cons 'progn body)))
这里,最后一种形式是复杂的,
(list 'if cond (cons 'progn body))
在构造列表时,是否已经完成了cond 和body 表单的评估?
为什么程序员在一处使用list 而在另一处使用cons?他们不是都采取多种形式并列出一个清单吗?
(list 'if cond (.......))
(cons 'progn body)
【问题讨论】: