小编sta*_*203的帖子

为什么clojure的小组并不总是保持秩序?

为什么(group-by identity(范围150))返回结果

{32 [32],1 [1],33 [33],2 [2],34 [34],3 [3],35 [35] ......

它是多线程相关的吗?它有什么办法吗?

......它是否违反了合同?

返回由每个元素上的f的结果键入的coll元素的映射.每个键的值将是它们在coll中出现的顺序的相应元素的向量.

group-by clojure

7
推荐指数
1
解决办法
566
查看次数

为什么重复使用%&期望一个短形式函数的参数

注意:不是重复为什么Clojure重复认为它应该只有一个参数?.我没有使用循环.

(def t 
  #(let [[low high] (sort %&)] {:low low :high h}))

(t 3 2)
=> {:low 2, :high 3}
Run Code Online (Sandbox Code Playgroud)

鉴于这是按预期工作的.怎么没有:

(def t 
  #(let [[low high] (sort %&)] 
    (if (= 0 low)
      nil
      (do
        (println {:low low :high high})
        (recur low (dec high))))))

(t 3 2)
=> java.lang.IllegalArgumentException: Mismatched argument count to recur, expected: 1 args, got: 2
Run Code Online (Sandbox Code Playgroud)

鉴于它说它期待1个参数我可以猜测我可以通过将参数转换为集合来使其工作:

(def t
  #(let [[low high] (sort %&)]
    (if (= 0 low)
      nil
      (do
        (println {:low low :high high})
        (recur …
Run Code Online (Sandbox Code Playgroud)

clojure

4
推荐指数
1
解决办法
704
查看次数

标签 统计

clojure ×2

group-by ×1