Colin Grogan:

Reading the articles on array slicing its not clear if its possible.

I presume Walter thinks that slicing with a stride is a not common enough operation to put it into D. His choices on such things are a bit arbitrary.

One way to do it:


import std.stdio, std.array, std.range;

void main() {
    auto orig = [1, 2, 3, 4, 5, 6, 7];
    auto sliceOdd = orig.stride(2).array;
    sliceOdd.writeln;
    auto sliceEven = orig[1..$].stride(2).array;
    sliceEven.writeln;
}


stride() is just a function used with UFCS.

Don't use ".array" if you just need a lazy sequence.

Bye,
bearophile

Reply via email to