【发布时间】:2012-11-20 21:37:49
【问题描述】:
我有一个表达式列表,我想在宏内按顺序计算并返回最后一个表达式的值。我试过这个,但编译器不喜欢它:
(defmacro foo lst-of-exprs
',@lst-of-exprs)
和
(defmacro foo lst-of-exprs
'(progn ,@(lst-of-exprs))
有没有办法在不使用 do 循环的情况下做到这一点?
【问题讨论】:
-
“编译器不喜欢它”是什么意思?
-
你打算如何使用你的宏?它与 progn 有何不同?
-
能否给出错误信息?