Thread overview | ||||||
---|---|---|---|---|---|---|
|
June 22, 2016 Searching for a T in a T[] | ||||
---|---|---|---|---|
| ||||
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. |
June 22, 2016 Re: Searching for a T in a T[] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nordlöw | 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. What about http://dlang.org/phobos/std_algorithm_searching.html#.canFind.canFind.2? — David |
June 22, 2016 Re: Searching for a T in a T[] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nordlöw | 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)));
}
|
June 22, 2016 Re: Searching for a T in a T[] | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Nadlinger | On Wednesday, 22 June 2016 at 08:07:51 UTC, David Nadlinger wrote:
> What about http://dlang.org/phobos/std_algorithm_searching.html#.canFind.canFind.2?
My mistake. The reason for the template error message was another than I though of. Thanks.
|
Copyright © 1999-2021 by the D Language Foundation