On Friday, 7 December 2018 at 19:12:31 UTC, Seb wrote:
On Friday, 7 December 2018 at 18:51:27 UTC, Arun Chandrasekaran wrote:
I'm trying to find the needle in the hay that's an array of strings. So the second assert fails for some reason. Is this expected? https://run.dlang.io/is/7OrZTA

```
#!/usr/bin/rdmd

void main()
{
    import std.experimental.all;
    string s1 = "aaa111aaa";
    string s2 = "aaa222aaa";
    string s3 = "aaa333aaa";
    string s4 = "aaa444aaa";
    const hay = [s1, s2, s3, s4];
    assert(canFind(s1, "111"));
    assert(canFind(hay, "111"));
}
```

Why is there a difference in the behavior?

Alternatively to the answers above you can also use a custom lambda for canFind:

https://run.dlang.io/is/QOXYbe

Just curious, how do we find multiple needles? This throws compilation error

    assert(hay.canFind!(e => (e.canFind(["111", "222"]))));

An example in the doc would be helpful.

Reply via email to