【发布时间】:2016-04-06 16:32:20
【问题描述】:
我编写了将 cons 单元格插入关联列表的代码。 比如有关联列表
((1 . a) (3 . c) (4 . d))
我想插入 cons 单元格(2 . b) 然后这个程序产生
((1 a) (2 . b) (3 . c) (4 . d))
但我的代码引发了异常
(car L) should be a lambda expression
下面是我的代码
(defun INSERTCELL (R L)
(cond ((< (car L) (car R)) cons((car L) INSERTCELL(R (cdr L))))
(t cons(R L))))
R 是(2 . b),L 是((1 . a) (3 . c) (4 . d)),所以R 应该插入L。
【问题讨论】:
-
函数被称为
(cons args...)而不是cons(args...)。
标签: lisp