-1

マクロ内で順番に評価し、最後の値を返す式のリストがあります。私はこれを試しましたが、コンパイラはそれを好きではありません:

(defmacro foo lst-of-exprs
  ',@lst-of-exprs) 

(defmacro foo lst-of-exprs
  '(progn ,@(lst-of-exprs))

do ループを使わずにこれを行う方法はありますか?

4

1 に答える 1

1

あなたが欲しい

(defmacro foo lst-of-exprs
  `(progn ,@lst-of-exprs))

実際には、これはprognそれ自体の同義語を定義しているだけですが。

于 2012-11-21T07:14:51.813 に答える