On Tue, Jan 20, 2009 at 4:32 PM, Mark Volkmann <r.mark.volkm...@gmail.com>wrote:

>
> On Tue, Jan 20, 2009 at 3:14 PM, Stuart Sierra
> <the.stuart.sie...@gmail.com> wrote:
> >
> > On Jan 20, 3:32 pm, Mark Volkmann <r.mark.volkm...@gmail.com> wrote:
> >> Can someone describe a situation where it is preferable to use doall
> >> instead of dorun?
> >
> > Here's one:
> >
> > (defn read-my-file []
> >  (with-open [reader (BufferedReader. (FileReader. "my-file.txt"))]
> >    (doall (line-seq reader))))
> >
> > "line-seq" returns a lazy sequence, but you have to consume that
> > sequence before "with-open" closes the file.
>
> How is it different if you change "doall" to "dorun"? According to
> their doc strings, they both "can be used to force any effects. Walks
> through the successive rests of the seq"
>
>
Use dorun when you want to do something purely for the side effects. If you
don't need what doall would return then you can use dorun instead to clearly
indicate your intent.

-- 
Cosmin Stejerean
http://offbytwo.com

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

Reply via email to