Alternate signs in a range
Stanislav Blinov
stanislav.blinov at gmail.com
Sun Jan 26 05:34:04 PST 2014
On Sunday, 26 January 2014 at 13:24:06 UTC, matovitch wrote:
> Zipping an index array is uglier in my opinion... ;-)
Extract it into a function and stick it into your library, it's
extremely useful :)
import std.range;
import std.algorithm;
import std.stdio;
auto enumerate(R)(R r) {
return zip(sequence!((a,n) => a[0]+n)(0), r);
}
void main() {
auto myRange = iota(0,10);
auto result = myRange.enumerate.map!(a => a[0] & 1 ? -a[1] :
a[1]);
result.writeln;
}
We need generic enumerate() in Phobos :(
More information about the Digitalmars-d-learn
mailing list