Common Lisp:如何将URL包含为列表的元素?

Rog*_*llo -1 lisp common-lisp

我想创建一个包含URL的列表,如下所示:

(setf assertion '(BookStore targetNamespace http://www.books.org))
Run Code Online (Sandbox Code Playgroud)

但这会导致此错误消息:

Error in READ [or a callee]: There is no package with the name HTTP.
Run Code Online (Sandbox Code Playgroud)

为什么URL会产生错误?

如何将URL作为列表元素包含在内?

Pas*_*cal 7

表达http://www.books.org试图找到的.有关包的更多信息,请阅读Practical Common Lisp中的章节.symbol //www.books.orgpackage http

您应该只是将项目作为字符串添加到列表中.

  • "功能"应该是"符号". (4认同)

cor*_*ump 5

不要将符号用作字符串,这不是一个好主意.只需使用字符串.

(defvar *assertion* (list "BookStore" "targetNamespace" "http://www.books.org"))
Run Code Online (Sandbox Code Playgroud)

URL产生错误,因为:用于访问指定包中的符号,就像它对你说的那样.所以你只是告诉编译器在名为"http"的包中找到符号"//www.books.org",并且没有包含此名称的包.