Common lisp 递归求和函数

Common lisp 递归求和函数,common-lisp,Common Lisp,我的代码有什么问题 我收到了以下错误消息: (defun recursive-sum (L) (if (null L) 0 (+ (first L) (recursive-sum L)))) 考虑到您提供的错误代码,似乎您正在使用一个名为SUM.LISP的变量,该变量没有实际值/在某一点上没有定义。在代码中搜索该变量名,并确保它始终正确定义且在范围内。要了解更多信息,需要更多的源代码 由于您引用的功能很可能无法正常工作,我实施了一个固定版本: *** - SYSTEM::READ

我的代码有什么问题

我收到了以下错误消息:

(defun recursive-sum (L)
  (if (null L)
  0
  (+ (first L) (recursive-sum L))))

考虑到您提供的错误代码,似乎您正在使用一个名为
SUM.LISP
的变量,该变量没有实际值/在某一点上没有定义。在代码中搜索该变量名,并确保它始终正确定义且在范围内。要了解更多信息,需要更多的源代码


由于您引用的功能很可能无法正常工作,我实施了一个固定版本:

*** - SYSTEM::READ-EVAL-PRINT: variable SUM.LISP has no value
The following restarts are available:
USE-VALUE      :R1      Input a value to be used instead of SUM.LISP.
STORE-VALUE    :R2      Input a new value for SUM.LISP.
ABORT          :R3      Abort debug loop
ABORT          :R4      Abort debug loop
ABORT          :R5      Abort main loop
Break 3 [5]> 

其中,如注释中所述,您将每次调用的给定列表减少一个元素。

此问题被否决并关闭,因为错误消息和代码看起来不相关。这个问题没有显示用户实际做了什么。
(defun recursive-sum (L)
   (if L
      (+ (car L) (recursive-sum (cdr L))) 
      0))