2012-11-20 2 views
-1

매크로 내에서 순서대로 계산할 식 목록을 가지고 있으며 마지막 식의 값을 반환합니다. 나는이 시도했지만, 컴파일러는 그것을 좋아하지 않습니다LISP 식 목록

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

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

for 루프을 사용하지 않고이 작업을 수행 할 수있는 방법이 있나요? 정말 그냥 그 자체 progn에 대한 동의어를 정의하고 있지만

+0

"컴파일러가 마음에 들지 않습니다."그게 무슨 뜻입니까? – Marcin

+1

매크로를 어떻게 사용할 계획입니까? 그것은 progn과 어떻게 다른가요? –

+0

오류 메시지를 표시 할 수 있습니까? –

답변

1

당신은

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

를 원한다.