(require :cl-who)
(defmacro rawpage ((&rest head) &body body)
`(cl-who:with-html-output-to-string (*standard-output* nil :prologue t)
(:html
(:head
(:meta :charset "utf-8")
,@head)
(:body
,@body))))
(defmacro str+ (&rest strs)
`(concatenate 'string ,@strs))
(rawpage () (:div (str+ "hello," "name")))这段代码没有输出我想要的东西。我预计它会输出:
<html><head><meta charset='utf-8' /></head><body><div>hello,name</div></body></html>但是,它输出:
<html><head><meta charset='utf-8' /></head><body><div></div></body></html>有人能告诉我为什么吗?我使用的是SBCL。
发布于 2013-03-27 23:08:57
您的问题是,在CL-WHO中,非常量字符串应该放在str中,如下所示:
(defmacro rawpage ()
(:div (str (str+ "hello," "name"))))https://stackoverflow.com/questions/15660679
复制相似问题