我對一個宏和一個函數之間的區別感到困惑;具體來說爲什麼第二部分在第一部分成功之後失敗。如何將宏存儲在Common Lisp [sbcl]中的變量中?
(defun foo() "foo")
(setf a 3) ;; sets the symbol value cell to 3
(setf a #'foo) ;; PART ONE
(funcall a) ;; returns foo
(defmacro bar() "bar")
(setf b #'bar) ;; Error the macro name bar was found as an argument to function PART TWO
看來我的問題的原意似乎可以通過以下方法完成:(setf(宏函數'sym1)(宏函數'bar)) – tjb