我正在关注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))
Run Code Online (Sandbox Code Playgroud)
警告:在ADD-RECORD中:DB既未声明也未绑定,它将被视为已声明为SPECIAL.
我无法理解出了什么问题.它不能是代码因为我在clisp和sbcl中都试过,两者都得到类似的错误.为什么会这样?我的设置可能有问题吗?
您从此文本中复制错误:
(defun add-record (cd) (push cd *db*))
Run Code Online (Sandbox Code Playgroud)
其中*db*(注意*标志)指的是前一个
(defvar *db* nil)
Run Code Online (Sandbox Code Playgroud)