読者です 読者をやめる 読者になる 読者になる

itertoolsをclojureで(combinations)

(defn combinations [s r]
  (for [indices (permutations (range (count s)) r)
        :when (= (sort indices) indices)]
    (vec (for [i indices] (nth s i)))))

前回作ったpermutaionsに依存しています。
clojure.contrib.combinatorics/combinationsがありますが、それはそれとして。