使用全局变量 *db*,来保存数据
(defvar *db* nil)
(defun make-cd (title artist rating ripped)
(list :title title :artits artist :rating rating :ripped ripped)
)
(defun add-record (cd)
( push cd *db*)
)
CL-USER> (add-record (make-cd "Roses" "Kathy" 7 t))
((:TITLE "Roses" :ARTITS "Kathy" :RATING 7 :RIPPED T))
CL-USER> (add-record (make-cd "Lily" "Pgy" 8 t))
((:TITLE "Lily" :ARTITS "Pgy" :RATING 8 :RIPPED T) (:TITLE "Roses" :ARTITS "Kathy" :RATING 7 :RIPPED T))
CL-USER> (add-record (make-cd "Kly" "Gy" 9 t))
((:TITLE "Kly" :ARTITS "Gy" :RATING 9 :RIPPED T) (:TITLE "Lily" :ARTITS "Pgy" :RATING 8 :RIPPED T) (:TITLE "Roses" :ARTITS "Kathy" :RATING 7 :RIPPED T))
#查看*DB*中的数据
CL-USER> *DB*
((:TITLE "Kly" :ARTITS "Gy" :RATING 9 :RIPPED T) (:TITLE "Lily" :ARTITS "Pgy" :RATING 8 :RIPPED T) (:TITLE "Roses" :ARTITS "Kathy" :RATING 7 :RIPPED T))
本文介绍了一个用Lisp语言实现的数据管理程序,通过定义全局变量*db*来存储音乐CD的相关信息,包括标题、艺术家、评分及是否已抓取等属性,并演示了如何向*db*中添加记录。
1424

被折叠的 条评论
为什么被折叠?



