Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个表达式列表,我想在宏内按顺序计算并返回最后一个表达式的值。我试过这个,但编译器不喜欢它:
(defmacro foo lst-of-exprs ',@lst-of-exprs)
和
(defmacro foo lst-of-exprs '(progn ,@(lst-of-exprs))
有没有办法在不使用 do 循环的情况下做到这一点?
你要
(defmacro foo lst-of-exprs `(progn ,@lst-of-exprs))
尽管实际上这只是为progn自己定义了一个同义词。
progn