small correction: sometimes one does need to nest a for or doseq call, but 
not for the usual nested iteration case

On Monday, April 21, 2014 8:57:49 AM UTC-7, Justin Smith wrote:
>
> That doseq is a no-op, because str has no side effects and doseq always 
> returns nil. Also there is no need to nest doseq calls. for is much like 
> doseq except it actually returns the result.
>
> user> (for [lang (:langs langs)
>                 k (keys lang)]
>            (str k "  " (k lang)))
> (":lang  Clojure" ":version  1.6" ":lang  Erlang" ":version  17")
>
>
> On Monday, April 21, 2014 8:32:51 AM UTC-7, Hussein B. wrote:
>>
>> Hi,
>>
>> For a data structure such as:
>>
>> (def langs {:langs [ {:lang "Clojure" :version 1.6}
>>                             {:lang "Erlang"  :version 17} ] } )
>>
>> How to iterate all the items of the maps?
>>
>> I tried this but it is too imperative to me:
>>
>> (doseq [lang (:langs langs)
>>   (doseq [k (keys lang)]
>>     (str k "  " (k lang))))
>>
>> Thanks for help and time.
>>
>

-- 
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.

Reply via email to