Dada una colección, quiero iterar a través de todos los pares en una colección. EjemploForma idiomática de iterar a través de todos los pares de una colección en Clojure
(all-pairs seq)
(all-pairs '(a b c d)) => ([a b] [a c] [a d] [b c] [b d] [c d]))
Aquí está mi idea
(defn all-pairs [coll]
(for [ [idx elmt] (indexed coll)
other-elmt (subvec coll (inc idx))]
(vector elmt other-elm)))
Pero no se siente idiomática
lo siento, no reconozco, que el contenedor externo es una lista. Entonces la versión correcta es (map vec (combinaciones '(a b c d) 2)) – Thomas
+1 para realmente usar lo que está disponible. –