On 5/4/21 1:40 PM, Chris Piker wrote: > I only care about columns 0, 2, 3, 4, 8, 9, 10.
That's std.range.stride. > char[][] wanted = string_range.get( [1, 5, 7] ); // pseudo-code element That's std.range.indexed. import std.range; import std.stdio; void main() { auto r = 10.iota.stride(2); writeln(r); writeln(r.indexed([1, 3])); // Note: The above works only because 'stride' applies // "design by introspection" (DbI) and is able to work as a // RandomAccessRanges. Not every range can do that; so, in a more // general case, you would have to turn your range to a // RandomAccessRange by calling std.array.array first: auto r2 = r.array; // The following can work with any InputRange only after doing that. writeln(r2.indexed([1, 3])); } Ali