【发布时间】:2015-05-22 21:31:43
【问题描述】:
我是 lisp 的初学者。 我操作列表列表: ((name1, second) (name2, second2))
我的函数的目标是获取列表的第二个元素,其名称为第一个节点。
例如: 我的清单是: ((name1, second1) (name2, second2)) getelement list name1 应该返回 second1。
(defun getelement (list name)
(if (eq list '())
(if (string= (caar list) name)
(car (car (cdr list)))
(getelement (cdr list) name)
)
()
)
)
但是我得到了这个错误。我真的不明白我的代码发生了什么。我试图把 ' 放在表达式之前...
Error: The variable LIST is unbound.
Fast links are on: do (si::use-fast-links nil) for debugging
Error signalled by IF.
Backtrace: IF
【问题讨论】:
-
@Bill 抱歉,我更改了变量的名称,但忘记了这个。 nodelist 是列表(参数)。
-
当您使用正确的变量名时是否会给出错误消息?如果是这样:使用什么 lisp,以及如何调用函数?
标签: lisp elisp common-lisp