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 内部 (apply tree-to-commands) を使用して小さなラッパーを作成することができます。

于 2013-06-11T08:52:43.983 に答える