我想编写一个函数/宏来编写一个将创建列表结构的宏。什么是一个好的起点。我希望做(mkList id name phone)
这样的事情并让它产生(defun (id name phone) (list :id id :name name :phone phone))
,最好使用& rest。任何想法?
答案 0 :(得分:1)
这应该给你一些提示:
CL-USER 39 > (defun foo (l)
(cons 'list
(mapcan (lambda (e)
(list (intern (symbol-name e)
(find-package "KEYWORD"))
e))
l)))
FOO
CL-USER 40 > (foo '(a b c))
(LIST :A A :B B :C C)
答案 1 :(得分:0)
(defun mkcode(item)(eval(read-from-string item))) 是什么对我有用,让我有很大的灵活性