常见的lisp错误,不是绑定变量

时间:2014-09-23 20:36:50

标签: common-lisp slime

我正在关注Practical Common Lisp。我跟着这个例子来到了发球台。当我在Emacs C-c C-c 中编译时,我的代码出现以下错误。

(defun make-cd (title artist rating ripped)
  (list :title title :artist artist :rating rating :ripped ripped))

(defvar *db* nil)
(defun add-record (cd)(push cd db))
  

警告:在ADD-RECORD中:DB既未声明也未绑定,            它将被视为特别声明。

我无法理解出了什么问题。它不能是代码因为我在clisp和sbcl中都试过,两者都得到类似的错误。为什么会这样?我的设置可能是错的吗?

1 个答案:

答案 0 :(得分:7)

您从此text

中犯了一个副本错误
(defun add-record (cd) (push cd *db*))

其中*db*(请注意*符号)是指前一个

(defvar *db* nil)