我需要在打嗝内构建样式信息,以便将元素放在变量“top”和“left”所指示的位置。我的代码看起来像这样:
(html [:div {:style(str“top”top“; left”left)} “一些文字”])
这段代码非常难看。如果打嗝使用标准的CSS样式规则自动呈现“样式”属性会更好...然后我可以写下面的内容:
(html [:div {:style {:top top:left left}} “一些文字”])
是否已有图书馆执行此操作?或者,我需要推出自己的解决方案吗?
感谢Clojurians提供任何指示!
答案 0 :(得分:7)
你可以编写一个能够做到这一点的函数,它甚至会比地图略微打字。例如:
(defn style [& info]
{:style (.trim (apply str (map #(let [[kwd val] %]
(str (name kwd) ":" val "; "))
(apply hash-map info))))})
哪个允许你这样写...
(html [:div (style :top top :left left) "some text"])
函数的输出示例...
user=> (style :top 32 :left 14)
{:style "top: 32; left: 14;"}
答案 1 :(得分:1)
这个怎么样:
def read(stream, parsefunc):
handler = err_handler()
for record in parsefunc(stream, handler):
do_stuff(record)
答案 2 :(得分:0)
Clojure还没有多少,但是像Enlive那样的基于'转换'的方法听起来像是满足这些需求的解决方案 - https://github.com/cgrand/enlive