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