Hi Colin,
One more solution, with example data in the process commented
*(let [f #(range 1 (inc %))*
* coll '(1 2 3)]*
* (->>*
* *(for [*x coll *; x = 1, 2, 3
* y *(*f x*)]* *; y = 1 (where x = 1),
* *; 1, 2 (where x = 2),
* *; 1, 2, 3 (where x = 3)
* *[*y x*])* *; [y, x] = [1, 1], [1, 2], [2, 2], [1, 3], [2,
3], [3, 3]
* *(reduce * *; for example where
* *(fn [*a *[*y x*]]* *; a = {1 [1 2 3], 2 [2]}, [y x] = [2 3]
* *; => (a y []) = [2]
* *; (conj ... x) = [2 3]
* (assoc a y (conj (a y []) x)))*
* *{})))* *; (assoc a y ...) = {1 [1 2 3], 2 [2 3]}
Hope this helps.
Y.Kohyama
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.