Is there a function for this?
Nicholas Wilson
iamthewilsonator at hotmail.com
Sat Oct 6 13:38:34 UTC 2018
On Saturday, 6 October 2018 at 13:17:22 UTC, bauss wrote:
> Let's say you have a range with struct, but some of the struct
> are duplicates of each other.
>
> Is there a standard function in Phobos to remove duplicates?
>
> My first thought was "uniq", but it can't really do it like
> that, but it doesn't work.
>
> See: https://run.dlang.io/is/IcFEtw
>
> Is there another function in Phobos that perhaps would work?
>
> I can of course write my own function, but if there is a
> standard function that can do it, then I'd rather use that.
range
.array.sort // make equal elements be adjacent
.chunks!"a==b" // get a range over those equal elements
.map(e => e.front); // get the first one
should work, possibly not the most efficient way to do it though.
I don't know off the top of mu head if there are any to preserve
the order or the original range.
More information about the Digitalmars-d-learn
mailing list