.sort vs sort(): std.algorithm not up to the task?
Stanislav Blinov via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Jun 7 19:31:43 PDT 2017
On Thursday, 8 June 2017 at 02:25:17 UTC, Jonathan M Davis wrote:
Oh I see, the was error related to iteration, not sorting.
> Ranges do not support iterating with an index. The workaround
> if you want to have an index with ranges and foreach, then you
> should use lockstep:
>
> http://dlang.org/phobos/std_range.html#lockstep
>
> e.g.
>
> foreach(i, v; lockstep(iota!size_t(0), s))
> {}
>
> or
>
> foreach(i, v; lockstep(iota(0), s))
> {}
There's an enumerate():
https://dlang.org/phobos/std_range.html#enumerate
import std.algorithm : sort;
import std.range : enumerate;
foreach(i, k; aa.keys.sort().enumerate) {
/* ... */
}
More information about the Digitalmars-d-learn
mailing list