Range expansion: Difference between revisions

Updated D entry
m (→‎{{header|NetRexx}}: It's a translation too)
(Updated D entry)
Line 441:
=={{header|D}}==
{{trans|Python}}
<lang d>import std.stdio, std.regex, std.string, std.conv, std.range;,
std.algorithm;
 
int[] rangeExpand(in string txt) /*pure nothrow*/ {
typeof(return txt.split(",").map!((r) result;{
 
foreach (r; std.string.split(txt, ",")) {
const m = r.match(r"^(-?\d+)(-?(-?\d+))?$").captures.array;
result ~=return m[2].empty ? [m[1].to!int] :
iota(m[1].to!int, m[3].to!int + 1).array;
}).join.array;
return result;
}