Oops, sorry Paul (In your favour I expect people can probably pronounce your
surname! ;-)

Cheers

Tom

2009/1/7 Paul Barry <pauljbar...@gmail.com>

> 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