私はCL-のマクロを定義していると言う。そしてCommon Lisp:マクロを使ってCL-WHOのS式を生成するには?
(defmacro test-html (&body body)
`(with-html-output-to-string (*standard-output* nil :PROLOGUE t :indent t)
(:html
(:body
,@body))))
:
"<html>
<body>
<h1>
hallo
</h1>
</body>
</html>"
予想されたように:
(test-html (:h1 "hallo"))
は、(削除最初の行)を得ます。今、私はS式を生成する機能を定義したCL-が使用する:
(defun test-header (txt)
`(:h1 ,txt))
と呼ばれる「ハロー」
(:h1 "hallo")
を返しますが、今、私が呼ぶとき
(test-html (test-header "hallo"))
それを返します:
"<html>
<body>
</body>
</html>"
何がうまくいかず、なぜですか?
リンクありがとう!それは面白いです..記事全体を読んでコメント部分に到達した後、私はこの記事を2ヶ月前に読んだことに気付き、コメントを残しました。私の記憶は私には失敗している - 私はVsevolodのフォークを試してみよう! – mck