Clojure “map”函数能否返回向量而不是列表?

Clojure “map”函数能否返回向量而不是列表?,clojure,Clojure,假设我有一个函数,它用一组数字替换序列中的每一个0,然后将每一个其他数字放入一个只有该数字的集合中 (defn helper [lst] (map #(if (zero? %) (sorted-set 1 2 3 4 5 6 7 8 9) #{%}) lst) ) 当我运行运行它的时候,当我运行运行它的时候,它返回当我运行它的时候,它返回当我运行它的时候,当我运行它的时候它返回当我运行它的时候,当当我运行它返回((3555 5 5 3 3

假设我有一个函数,它用一组数字替换序列中的每一个0,然后将每一个其他数字放入一个只有该数字的集合中

(defn helper
  [lst]
  (map #(if (zero? %) 
          (sorted-set 1 2 3 4 5 6 7 8 9)
         #{%})
    lst) )

当我运行运行它的时候,当我运行运行它的时候,它返回<代码>当我运行它的时候,它返回<代码>当我运行它的时候,当我运行它的时候它返回<代码>当我运行它的时候,当当我运行它返回<代码>((3555 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 9 9 9)9 9 9 9 9)当((((((((((((3555 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5)))5)))9}]。我应该怎么做才能使它在向量中而不是在列表中返回它们呢?

使用
mapv
。它不是懒惰的,总是返回一个向量

您还应该添加书签,并始终打开浏览器选项卡。每天回顾一些功能,直到你对它们都熟悉为止。就像学习JavaAPI一样,这需要一段时间,但它是值得的


享受吧

仅供参考re:你删除的问题,我会写下来。关键是要将病情与身体分开。@Carcigenicate非常感谢,我删除了它,因为我要发布一个更复杂的版本,以便我能学到更多,但这正是我想要的。再次感谢