3

到目前为止,我看到的所有示例都是这样cl-who工作的:

(with-html-output-to-string (s)
   (:HTML (:HEAD (:TITLE "hello")) (:BODY (:DIV "world"))))

哪个工作正常。但是,我想使用with-html-output-to-string变量,而不是硬编码的 html 树;如果*p*(:HTML (:HEAD (:TITLE "hello")) (:BODY (:DIV "world"))),我会这样做

(with-html-output-to-string (s)
   *p*)

结果我得到""了。我想作为with-html-output-to-string一个宏,它的最后一个参数永远不会被评估。有什么办法可以解决这个问题吗?

4

2 回答 2

4

使用cl-who:str;检查http://weitz.de/cl-who/#example上的示例。

如果你这样做:

(with-html-output-to-string (s)
   (str *p*))

你会得到预期的输出。

于 2013-06-14T21:47:23.697 回答
0

将部分 html 树作为 lisp 形式传递不是 cl-who 中的预期方式,但您可以使用一些 cl-who 内部(应用tree-to-commands)来编写一个小包装器。

于 2013-06-11T08:52:43.983 回答