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