S-expresions을 사용하고 조명기의 어휘 적 컨텍스트 내에서 평가하는 함수를 만드는 매크로를 만들려고합니다. 여기에 내가 쓴 매크로입니다 :이 양식이 let 양식의 어휘 문맥에서 평가되지 않는 이유
(defmacro def-fixture (name bindings)
"Return a function that takes the form to execute but is wrapped between a let of the bindings"
`(defun ,(intern (symbol-name name)) (body)
(let (,bindings)
(unwind-protect
(progn
body)))))
는하지만 그것을 실행할 때 내가 Btw는
(def-fixture test-fixture '(zxvf 1))
(test-fixture '(= zxvf 1))
let: Symbol's value as variable is void: zxvf
를 제공 어휘 컨텍스트 외부에서 실행 것으로 보인다, 나는 변수 어휘 바인딩을 사용할 수있다. 내 실수는 무엇입니까?
당신이 중첩 된 역 인용 부호를 사용하고있는 것을보고, 그것이 필요한 것인지 궁금해하고있었습니다. 감사 – PuercoPop