【发布时间】:2013-09-08 18:42:34
【问题描述】:
让我们制作频率图:
(reduce #(update-in %1 [%2] (fnil inc 0)) {} ["a" "b" "a" "c" "c" "a"])
我担心的是 lambda #(...) 中的表达式 - 这是规范的做法吗?我可以做得更好/更短吗?
编辑:我发现的另一种方式:
(reduce #(assoc %1 %2 (inc %1 %2 0)) {} ["a" "b" "a" "c" "c" "a"])
看起来非常相似,优缺点是什么?性能?
【问题讨论】:
-
你的第二个例子实际上是如何工作的?您将收到
clojure.lang.ArityException,因为将 3 个参数传递给(inc)。
标签: clojure