我是Lisp的新手并且有一个非常基本的问题。
我正在使用包含列表的列表。
(defvar *stationen* nil)
(defun make-station (name uri)
(list :name name :uri uri))
(defun save-db ()
(with-open-file (out "list.txt"
:direction :output
:if-exists :supersede)
(with-standard-io-syntax
(princ *stationen* out))))
(defun load-db ()
(with-open-file (in "list.txt")
(with-standard-io-syntax
(setf *stationen* (READ in)))))
(load-db)
数据包含uri http://www....
。好吧,当我尝试阅读该列表时,我收到以下错误:
The name "HTTP" does not designate any package.
[Condition of type SB-KERNEL:SIMPLE-PACKAGE-ERROR]
我可以猜到为什么会发生这种情况(Lisp试图将“http”解释为一个包,对吧?)。但是如何在没有Lisp抛出此错误的情况下将我的uri保存到文件并再次读取?
答案 0 :(得分:1)
备选方案:
答案 1 :(得分:0)
或者,您可以使用PRINT而不是PRINC来写出URL。