No Problem Ayerst :)  Just kidding, people call me Barry all the time, even
though my first name is Paul.  That's the curse of having 2 first names I
guess.

On Wed, Jan 7, 2009 at 8:17 AM, Tom Ayerst <tom.aye...@gmail.com> wrote:

> Thanks Barry, I now see what I did.
>
> I tried doseq early but it didn't print anything.  I had:
>   (with-open [r (reader "doc.txt")]
>        (doseq [line (line-seq r)] println line))
>
> so I wasn't evaluating the println.
>
> Cheers
>
> Tom
>
> 2009/1/7 Paul Barry <pauljbar...@gmail.com>
>
> Here's a little cleaner version using doseq:
>> (use 'clojure.contrib.duck-streams)
>>
>> (with-open [r (reader "doc.txt")]
>>   (doseq [line (line-seq r)] (println line)))
>>
>>
>> On Wed, Jan 7, 2009 at 7:27 AM, Tom Ayerst <tom.aye...@gmail.com> wrote:
>>
>>> Thanks Brian.
>>>
>>> I finally nailed it with:
>>>
>>> (use '[clojure.contrib.duck-streams :only (reader)])
>>>
>>> (with-open [r (reader "doc.txt")]
>>>    (dorun
>>>      (for [line (line-seq r)] (do (println line)))))
>>>
>>> Cheers
>>>
>>> Tom
>>>
>>> 2009/1/6 Brian Doyle <brianpdo...@gmail.com>
>>>
>>>
>>>> On Tue, Jan 6, 2009 at 4:47 PM, Tom Ayerst <tom.aye...@gmail.com>wrote:
>>>>
>>>>> Its not the println, nor getting a reader (duckstreams is fine, I can
>>>>> do that). Its the converting it to a seq and stepping through it printing
>>>>> each element (which should be a line). Its the loopy, steppy bit, just 
>>>>> for a
>>>>> side effect; that I am messing up.
>>>>>
>>>>> Cheers
>>>>>
>>>>> Tom
>>>>
>>>>
>>>> I've done this type of thing and it worked great for me.
>>>>
>>>>        (with-open [r (clojure.contrib.duck-streams/reader
>>>> "filename.txt")]
>>>>            (doseq [line (line-seq r)]
>>>>                ; do stuff with the line here
>>>>               ))
>>>>
>>>> Basically you'll want to use the line-seq function.  Hopefully that
>>>> helps.
>>>>
>>>>
>>>>> 2009/1/6 Mark Volkmann <r.mark.volkm...@gmail.com>
>>>>>
>>>>>
>>>>>> On Tue, Jan 6, 2009 at 5:26 PM, Tom Ayerst <tom.aye...@gmail.com>
>>>>>> wrote:
>>>>>> > Hi,
>>>>>> >
>>>>>> > How do I read and print a text file?  I can read it, its the
>>>>>> printing that
>>>>>> > is the problem, I feel it should be obvious but I keep tripping
>>>>>> myself up.
>>>>>> > (The context is I need to extract data line by line, translate the
>>>>>> line
>>>>>> > format and save it for a legacy app)
>>>>>>
>>>>>> Do you just need to print to stdout?
>>>>>> The println function does that. It puts a space between the output of
>>>>>> each of its arguments. If you don't want that you can use the str
>>>>>> function to concatenate a bunch of string values together.
>>>>>> If you need something fancier, don't forget that you can access
>>>>>> everything in java.io from Clojure.
>>>>>>
>>>>>> --
>>>>>> R. Mark Volkmann
>>>>>> Object Computing, Inc.
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
> >
>

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