On Tue, Jan 20, 2009 at 4:32 PM, Mark Volkmann <[email protected]>wrote:
> > On Tue, Jan 20, 2009 at 3:14 PM, Stuart Sierra > <[email protected]> wrote: > > > > On Jan 20, 3:32 pm, Mark Volkmann <[email protected]> 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 [email protected] 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 -~----------~----~----~----~------~----~------~--~---
