Searching for a T in a T[]

cym13 via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jun 22 01:10:51 PDT 2016


On Wednesday, 22 June 2016 at 08:04:34 UTC, Nordlöw wrote:
> Is there now algorithm (similar to `canFind`) that can search 
> for a `T` in a `T[]`? Existing `canFind` only supports 
> sub-sequence needles.
>
> I'm aware of `std.string.indexOf` but that's only for strings.

I don't see why canFind isn't good enough for you, maybe I don't 
get what you want:

void main(string[] args) {
     import std.algorithm: canFind;

     struct Coord {
         int x, y;
     }

     Coord[] list = [Coord(0, 0), Coord(3, 14), Coord(1, 2), 
Coord(4, 2)];

     assert( list.canFind(Coord(3, 14)));
     assert( list.canFind(Coord(4, 2)));

     assert(!list.canFind(Coord(4, 3)));
     assert(!list.canFind(Coord(-1, 3)));
}



More information about the Digitalmars-d-learn mailing list