Page 84 is where it shows that maps are a sequence of pairs. The destructuring in James's code is on vectors -- the pairs in the sequence.
Hope that helps? Sean On Fri, Jun 5, 2015 at 8:11 PM, gvim <gvi...@gmail.com> wrote: > Yes, I'm fine with the concept. Just can't remember coming across it in > the textbooks but maybe I wasn't paying attention :) > > gvim > > > > On 06/06/2015 04:08, Sean Corfield wrote: > >> Itβs because if you treat a hash map as a sequence β as `for` does β you >> get a sequence of pairs (key/value β map entries): >> >> (seq {:a 1 :b 2}) >> ;;=> ([:a 1] [:b 2]) >> >> Does that help? >> >> Sean >> >> On Jun 5, 2015, at 7:41 PM, gvim <gvi...@gmail.com> wrote: >>> >>> I must re-read "Clojure Programming" (O'Reilly) in that case as I don't >>> recall the authors mentioning this kind of destructuring. >>> >>> gvim >>> >>> >>> On 06/06/2015 03:33, Fluid Dynamics wrote: >>> >>>> On Friday, June 5, 2015 at 10:07:05 PM UTC-4, g vim wrote: >>>> >>>> That works but I missed this possibility because I'm still not clear >>>> how: >>>> >>>> (group-by :email signs) >>>> >>>> .... which produces a map of the form: >>>> >>>> {"a...@gmail.com <javascript:>" >>>> [{:email "a...@gmail.com <javascript:>", :sign "Cancer", >>>> :planet "Mars", :surname >>>> "Blogs", :first_name "Joe"} >>>> ..... ]} >>>> >>>> .... can be destructured with the vector [email signs]. I assumed a >>>> map >>>> must be destructured with a map but couldn't find a solution as the >>>> map >>>> keys are unique values, ie. email addresses. >>>> >>>> >>>> The code was (for [[email signs] (group-by...)]...). The for iterates >>>> over the map produced by group-by, producing individual map entries, and >>>> map entries can be treated as two-element seqs/vectors of [key value], >>>> which is what the destructuring does here, putting the key in local >>>> binding email and the value, a vector with maps in it, in signs. >>>> >>> >> > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > 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 clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ "Perfection is the enemy of the good." -- Gustave Flaubert, French realist novelist (1821-1880) -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com 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 clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.