我正在将打ic向量传递给一个函数,该函数会将其打成更多的打ic,但不会像我期望的那样返回它。
这是我的意思的示例:
(defn wrap-fn
[input]
[div.content-box
[input]])
(defn main-fn
[vector-of-hiccup]
(foreach [hiccup from vector-of-hiccup]
(wrap-fn hiccup-from-list)))
如何实现上述的foreach循环?
我尝试使用'apply'将wrap-fn应用于每个矢量参数,但它仅返回包装的第一个元素。我尝试创建各种循环,并且获得了相似的成功水平。
我敢肯定有办法做到这一点,请帮助我找到一个可行的方法。
您需要这样的东西:
(defn wrap-fn
[input]
[:div.content-box
[input]]) ; <= you may not want to wrap `input` in a vector.
(defn main-fn
[vector-of-hiccup]
(vec
(for [item vector-of-hiccup]
(wrap-fn item))))
注意:
中的:div
。打ic向量总是以关键字开头。另外,由于for
返回的是惰性序列,因此您应使用将其转换为向量vec
。
此外,根据您的情况,您可能希望拥有input
,而不是[input]
下:div.content-box
。