(setf *trans-code* '(("add" . #'(lambda () (format t "add"))) ("sub" . #'(lambda () (format t "sub"))) ("mul" . #'(lambda () (format t "mul"))) ("xor" . #'(lambda () (format t "xor")))))
(setf x (cdr (assoc "add" *trans-code* :test #'string=)))
(funcall x)
こうすると"add"と表示されることを期待したのですが, FUNCALL: #1=#'(LAMBDA NIL (FORMAT T "add")) is not a function name; try using a symbol instead [Condition of type SIMPLE-TYPE-ERROR] となってしまいます.これは何がおかしいのでしょうか?