【发布时间】:2013-06-10 19:59:21
【问题描述】:
到目前为止我看到的所有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 是一个宏,它的最后一个参数永远不会被评估。
有什么办法可以解决这个问题吗?
【问题讨论】:
-
我无法添加标签
cl-who(不存在,没有足够的代表)。 -
我唯一能想到的就是
(eval `(with-html-output-to-string (s) ,*p*))。似乎没有with-html-output-to-string作为函数的实现。 -
有一个特殊的结构:
str- 见weitz.de/cl-who/#example -
@VsevolodDyomkin 对我有用;如果你想把它放在答案中,我很乐意接受。
标签: macros common-lisp cl-who