On Friday, 25 January 2013 at 01:52:27 UTC, bearophile wrote:
qznc:

We're even now ;)

http://rosettacode.org/wiki/Rosetta_Code/Rank_languages_by_popularity#D

I have cut some lines, and I have used a more functional style, that fits well for this entry. Compared to the C++ entry this D entry is nicer.

I greatly prefer the "verbose" option of the Python regex. And "g" for regexes should be the default.


This D code:

auto pairs = categories.match(r2)
             .filter!(m => languages.canFind(m[1]))()
             .map!(m => tuple(m[2].to!uint(), m[1].dup))()
             .array();

With a Python-like syntax becomes nicer:

auto pairs = [(r.to!uint, l.dup) for l,r in
              categories.match(r2)
              if l in languages];


I completely agree. The functional style is better and I miss list comprehensions as well. It does not require new keywords, so maybe it can be added to D at some point.

Reply via email to