私は今私を混乱させる次のコードを持っています.違いとこれを修正する方法を教えてくれることを願っています.
(defmacro tm(a)
`(concat ,(symbol-name a)))
(defun tf(a)
(list (quote concat) (symbol-name a)))
私はそれらが同じ効果であるべきだと思うだけですが、実際にはそうではないようです.
私は次の呼び出しを試みます:
CL-USER> (tf 'foo)
(CONCAT "FOO")
CL-USER> (tm 'foo)
value 'FOO is not of the expected type SYMBOL.
[Condition of type TYPE-ERROR]
だから問題は何ですか?
私が欲しいのは:
(tm 'foo) ==> (CONCAT "FOO")