Как получить тот же вывод puri:uri-проанализированный путь, используя альтернативную библиотеку на общем Лиспе, называемую Quri?

#uri #common-lisp

Вопрос:

Используя CL (SBCL) и библиотеку Puri, я получаю РЕПЛИК Slime:

 CL-USER> (puri:uri-parsed-path  (puri:parse-uri "http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html"))

(:ABSOLUTE "software" "emacs" "manual" "html_node" "emacs" "index.html")
 

Я пытаюсь получить тот же результат (список с разделенными терминами из пути URL-адреса), используя Quri вместо Puri.

К сожалению, я этого не достигаю. Я пытался quri-parse-path :

 CL-USER> quri-object
#<QURI.URI.HTTP:URI-HTTP http://www.gnu.org/software/emacs/>
CL-USER> (quri:parse-path (quri:uri-path quri-object))
"/software/emacs/"
0
16
 

Поддерживает ли библиотека уже эту операцию?

Я не уверен, что это возможно только при чтении документации Quri. Хотя я все еще новичок в CL.

Ответ №1:

Я предлагаю получить путь uri и разделить его на»/».:

 (quri:uri "http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html")
#<QURI.URI.HTTP:URI-HTTP http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html>

(quri:uri-path *)
"/software/emacs/manual/html_node/emacs/index.html"

(ql:quickload "str")
(str:split "/" * :omit-nulls t)
("software" "emacs" "manual" "html_node" "emacs" "index.html")