I like D
Steven Schveighoffer via Digitalmars-d
digitalmars-d at puremagic.com
Tue Mar 24 13:51:51 PDT 2015
On 3/24/15 4:38 PM, Dylan Knutson wrote:
>> immutable nfields = header.count('\t');
>> ...
>> output.writeln(cycle("\t-").take(2 * nfields));
>>
>> Super-win, now I only ever have to update the original column list.
>>
>> Little things like this are what make me love D.
>>
>> -Steve
>
> I see that `take` returns a lazy range. That's really neat! How does
> writeln handle the lazy range though? Standard way of dealing with
> ranges in D, with calls to empty, front, and popFront (as in, does this
> code allocate any temporaries at all with the GC?)
writeln uses format, which takes a dchar output range to send the result
to. This in turn uses fputc on the stream (shudder). So no GC
allocations are needed.
-Steve
More information about the Digitalmars-d
mailing list