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

Common Lisp: How to include a URL as an element of a list?

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

(setf assertion '(BookStore targetNamespace http://www.books.org))

但这会导致此错误消息:

Error in READ [or a callee]: There is no package with the name HTTP.

为什么 URL 会产生错误?

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

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

(defvar *assertion* (list "BookStore" "targetNamespace" "http://www.books.org"))

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

表达式 http://www.books.org 试图找到 symbol //www.books.org in the package http. For more information about packages, you can read the chapter in Practical Common Lisp.

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