Phobos packages a bit confusing
Denis Koroskin
2korden at gmail.com
Mon Nov 30 07:45:15 PST 2009
On Mon, 30 Nov 2009 18:25:41 +0300, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> wrote:
> retard wrote:
>> Mon, 30 Nov 2009 12:01:22 +0100, Ary Borenszweig wrote:
>>
>>> KennyTM~ wrote:
>>>>>> By
>>>>>> far the two most important pieces of I/O functionality I need are:
>>>>>>
>>>>>> 1. Read a text file line-by-line.
>>>>> foreach (line; new Lines!(char) (new File ("foobar.txt")))
>>>>> Cout (line).newline;
>>>>> }
>>>>>
>>>>>
>>>> yuck.
>>> Yuck?? I find that code very elegant. How would you like it to be?
>> I guess something like this:
>> JustDoItWith("foobar.txt") {
>> ...
>> }
>
> foreach (char[] line; File("text.txt").byLine()) {
> ...
> }
>
> Efficient, flexible, convenient. Closes automatically the file, too,
> which Tango seems doesn't.
>
>
> Andrei
If it closes file automatically, then why do you close it explicitly in
slurp?
The code is almost the same except that "Lines" class works with any Input
Stream (memory stream, file stream, network stream, pipe, i/o device etc).
More information about the Digitalmars-d
mailing list