正如你所看到的,我的第一个元素以某种方式被跳过...至少println认为它是。
(def example [(:1 :1 :1) (:2 :2 :2 :2) (:3 :3)])
(println example)
(defn countEachSequence [vec]
(println vec)
(let [varName (count vec)]
(println varName)
)
)
(map #(countEachSequence %) example)
所需的输出是: ([1 3] [:2 4] [:3 2])
这是命名该组并计算该组中元素的数量。
答案 0 :(得分:2)
这似乎是你想要的:
(defn count-each-seq [v]
(map (fn [s] [(first s) (count s)]) v))
上面的count-each-seq
函数返回一个向量序列。您可以稍后打印。
如果在REPL中运行该函数,结果将立即显示。
您的代码中有三件事要说:
println
)。你的函数应该返回一个值。vec
实际上是一个函数名clojure.core/vec
。选择与现有功能名称不冲突的其他名称。count-each-sequence
而不是驼峰。