我有一个照片链接列表,想要用clojure和noir生成img标签。
我在这里获得了链接:
(def photos
(->> (get-in result ["photoset" "photo"]) (map #(str "http://farm"(get % "farm")
".staticflickr.com/"(get % "server")"/"(get % "id")"_"(get % "secret")"_b.jpg"))))
结果:
(http://farm9.staticflickr.com/8087/8455893107_1a3236df06_b.jpg http://farm9.staticflickr.com/8235/8469482476_4c1bf59214_b.jpg)
然后我尝试从该列表中生成img标签:
(defpage "/" []
(mylayout/layout
(doseq [e photos] (prn e))
))
(来电(defpartial layout [& content] ...)
我正在尝试为基于黑色的网站的每个链接获取以下输出:
[:img {:src "url"}]
我正在尝试这个但没有成功:
(doseq [e photos] ([:img {:src e}]))
如何将链接传递给布局以便生成img标签?
谢谢!
答案 0 :(得分:4)
其中任何一个都应该有效:
(map #(vector :img {:src %}) photos)
(for [url photos]
[:img {:src url}])
修改:提到Chuck,doseq
用于副作用。您想要“收集”结果并将其发送到模板。为此,您需要在集合中使用for
或map
等列表理解。
我讨厌在你的游行中下雨,但你知道,noir has been deprecated