首页 > 解决方案 > 为什么 clojure fn 的结果包含括号?

问题描述

以下代码是我对http://www.4clojure.com/problem/108的回答。但结果包括括号。我无法弄清楚问题所在。

(
(fn abc [& cs]
  (let [ fs (first (take 1 (apply map (fn [& vs] vs) cs)))
         fi (apply min fs)
         fx (apply max fs)]
    (if 
      (= fi fx) fi
      (for [n (range (count fs)) :when (= fi (nth fs n))]
         (apply abc (concat (take n cs) (vector (rest (nth cs n))) (drop (inc n) cs)))))))

[1 2 3 4 5 6 7] [4 19])

结果是(((4))),但预期结果是4

谢谢你。

标签: clojure

解决方案


推荐阅读