【发布时间】:2019-02-11 03:53:35
【问题描述】:
我正在制作一个递归 lisp 函数,它接受两个列表并创建一个索引对的子列表
例如:输入 (A B C D) 和 (1 2 3 4) 并得到 ((1 A) (2 B) (3 C) (4 D))
但是,我在使用 car 和 cons 来制作所述子列表时遇到了麻烦。这是我的代码:
(DEFUN zipper (a b)
(if (= (OR (list-length a) (list-length b)) 0)
(setq c NIL)
(progn (zipper (cdr a) (cdr b))
(cons '((car a) (car b)) c))
)
)
我玩了一会儿,似乎使用汽车创建列表在大多数情况下都不起作用。此外,我正在使用 CLISP。有什么想法吗?
谢谢!
【问题讨论】:
-
quote
'停止评估。使用list创建列表:(cons (list (car a) (car b)) c)
标签: list lisp common-lisp clisp cons