【发布时间】:2016-05-12 17:26:01
【问题描述】:
大家好,我需要有关 lisp 功能的帮助。我应该创建:
(myLast L) 计算到列表 L 的最后一个元素。 例如。 (myLast '(p a e g)) → g
我不能只使用我们在课堂上给出的所有预定义的 lisp 形式:
(atom X)
(quote X)
‘X
(eq X Y)
(cons X L)
(car L)
(cdr L)
(list A B C)
(if X Y Z)
(cond (C1 S1) (C2 S2) …… (Cn Sn))
我认为我输入的时候是对的:
(defun myLast (L)
(if ((eq L '()) (cdr L))
(car L)
(myLast (cdr L))))
但是我得到一个错误:
Error: The variable MYHW4.LISP is unbound.
Error signalled by EVAL
Backtrace: EVAL
Broken at SYSTEM::GCL-TOP-LEVEL.
我对 LISP 完全陌生,正在努力完成这项任务。我希望你们能帮助我,让我知道为什么会出现这个错误,我对最后一个函数形式的逻辑是否正确?谢谢!
【问题讨论】:
标签: lisp