Good name for f.byLine.map!(x => x.idup)?

Vladimir Panteleev vladimir at thecybershadow.net
Sun Mar 16 11:05:58 PDT 2014


On Sunday, 16 March 2014 at 16:58:36 UTC, Andrei Alexandrescu 
wrote:
> A classic idiom for reading lines and keeping them is 
> f.byLine.map!(x => x.idup) to get strings instead of the buffer 
> etc.
>
> The current behavior trips new users on occasion, and the idiom 
> solving it is very frequent. So what the heck - let's put that 
> in a function, expose and document it nicely, and call it a day.
>
> A good name would help a lot. Let's paint that bikeshed!

For the record, if you want to keep all lines in memory anyway, 
it's more efficient to just read the whole file at once then 
split it with splitLines(), because you avoid doing one memory 
allocation per line. The downside is if you want to keep only 
some of the lines on the heap in a long-running program - with 
this approach, the slices pin the entire file content.


More information about the Digitalmars-d mailing list