Deprecation: module std.stream is deprecated
Spacen Jasset via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Nov 10 08:31:05 PST 2015
On Tuesday, 10 November 2015 at 11:57:03 UTC, Jonathan M Davis
wrote:
...
> building blocks rather than kitchen sinks. And most range-based
...
I still can't really see why byChunk and byLine are part of the
File API? Especially byLine, I'll get byChunk go for now.
I think what I am trying to say is that there doesn't need to be
a byLine, if lineSplitter could work with some range that comes
out of the File.
The problem with your example using joiner is that:
(a) it is external to the calling function, and therefore messy,
since it will have to be used everywhere.
// not ideal
printFile(f.byChunk(1000).joiner());
(b) still can't use the range to split by lines afterwards,
lineSplitter etc don't work.
void printFile(Range)(Range i)
{
foreach (l; lineSplitter(i)) {
writefln("%d\n", l);
}
}
void main()
{
File f = File("/etc/passwd");
printFile(f.byChunk(1000).joiner()); // Not work,
linesplitter needs slicing and length?
}
More information about the Digitalmars-d-learn
mailing list