On Wednesday, 7 February 2018 at 01:10:34 UTC, Fra Mecca wrote:
I don't know if this post belongs to the learn section, but I'll try anyway.

I am using the std.path.pathSplitter function that returns a PathSplitter function exposing ranges primitive.

I have some question that could be generalized to other structs that expose range primitives.

1. Why can't I write foreach(i, el; pathSplitter("foor/bar").enumerate) ? 2. Supposing I want to fix this problem, what do I add to the struct? opApply?

There was a stupid stupid error on my part because I wasn't import the range module.

3. Why doesn't ranges infer the iteration method at compile time so that I don't need to write enumerate?

This question is still valid.
I think it would be saner to write
foreach(idx, el; paths)
instead of
foreach(idx, el; paths.enumerate)

Reply via email to