Lisp:正在读取包含url的文件
我是Lisp新手,有一个非常基本的问题 我正在处理一个包含列表的列表Lisp:正在读取包含url的文件,lisp,common-lisp,Lisp,Common Lisp,我是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
(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)
数据包含一个urihttp://www....
。好吧,当我尝试阅读该列表时,我得到以下错误:
The name "HTTP" does not designate any package.
[Condition of type SB-KERNEL:SIMPLE-PACKAGE-ERROR]
我可以猜到为什么会发生这种情况(Lisp试图将“http”解释为一个包,对吗?)。但是,如何将uri保存到文件并再次读取,而不使Lisp抛出此错误?备选方案:
顺便说一句,请发布格式化的Lisp代码。或者,您可以使用PRINT而不是PRINC来写URL。或者,您可以使用PRINT而不是PRINC来写URL。非常感谢!(这是我的第一篇帖子,我很高兴我找到了如何发布代码的方法;与在其他方面发布代码相比,似乎有点奇怪,也不太实用)@user2080255:是的,我使用编辑器将代码向右移动。选择一些文本,然后在Emacs中键入“c-u 4 c-x选项卡”。使用-4而不是4向后移动。非常感谢!(这是我的第一篇帖子,我很高兴我找到了如何发布代码的方法;与在其他方面发布代码相比,似乎有点奇怪,也不太实用)@user2080255:是的,我使用编辑器将代码向右移动。选择一些文本,然后在Emacs中键入“c-u 4 c-x选项卡”。使用-4而不是4向后移动。