【发布时间】:2015-07-18 16:32:59
【问题描述】:
我经常遇到这个问题(在 clojurescript 中更常见),但没有注意到其他人如何处理它。这就是我想要的:
[:div.container [:div.first "first"] [:div.second "second"] [:div.third "third"]]
假设我从以下集合构建它:["first" "second" "third"]
我将通过mapv 传递集合并结束(此代码是草图,我没有使用它):
(mapv
#([(keyword (str "div." %)) %])
["first" "second" "third"])
=> [[:div.first "first"] [:div.second "second"] [:div.third "third"]]
如果我在容器 div 中使用它,我会得到:
[:div.container [[:div.first "first"] [:div.second "second"] [:div.third "third"]]]
我一直在使用cons 之类的东西将:div.container 放在mapv 的结果前面。但在我看来,应该有更好的方法——比如与reduce 相反。有这种事吗?
编辑:我确实找到了concat,看起来我以前尝试过,但我得到了一个序列。我想要一个向量。 (vec (concat ... )) 不理想。
【问题讨论】:
标签: clojure clojurescript