我有一个表达式列表,我想在宏中按顺序计算并返回最后一个的值。我试过这个,但编译器不喜欢它:
(defmacro foo lst-of-exprs
',@lst-of-exprs)
和
(defmacro foo lst-of-exprs
'(progn ,@(lst-of-exprs))
有没有办法在不使用do循环的情况下执行此操作?
答案 0 :(得分:1)
你想要
(defmacro foo lst-of-exprs
`(progn ,@lst-of-exprs))
虽然这只是为progn
本身定义了一个同义词。