我是lisp的初學者。 ((name1,second)(name2,second2))從lisp列表中獲取元素
我的函數的目標是獲取列表的第二個元素名稱作爲它的第一個節點。
例如: 我的列表是:((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
@Bill對不起,我更改了變量的名稱,但忘記了這個。 nodelist是list(參數)。 – anothertest
當您使用正確的變量名稱時它是否提供錯誤消息?如果是這樣的話:使用什麼lisp,以及如何調用你的函數? –