I like D

Dicebot via Digitalmars-d digitalmars-d at puremagic.com
Tue Mar 24 11:16:07 PDT 2015


On Tuesday, 24 March 2015 at 13:09:21 UTC, Steven Schveighoffer 
wrote:
> Recently, while updating a D utility I wrote to process a 
> binary log file into a tab-separated text file, I found a nice 
> use for ranges.
>
> So I have N columns, separated by tabs. The header looks like 
> this:
>
> "TIME\tCOL1\tCOL2\t..."
>
> With about 30 or 40 columns.
>
> The first output is a line like this:
>
> 03/24/2015 12:34:56\t-\t-\t-\t...
>
> to designate the start of the log file. In my code, I had, in 
> addition to printing the time, a line like this:
>
> output.writeln("\t-\t-\t-\t-...");
>
> So adding new columns, I now had to add an appropriate number 
> of "\t-" to this output. In this update, I also decided to 
> print one of these whenever the log "restarts", so now I would 
> have multiple lines like this to maintain. How annoying. 
> Luckily I was using D :)
>
> New code:
>
> 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.

Can be nice entry for weekly D newsletter tips & tricks.


More information about the Digitalmars-d mailing list