The return of std.algorithm.find

drug via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Nov 15 01:48:10 PST 2016


15.11.2016 12:43, RazvanN пишет:
> The find function which receives an input haystack and a needle returns
> the haystack advanced to the first occurrence of the needle. For normal
> ranges this is fine, but for
> sorted ranges (aka SortedRange) it is a bit odd. For example:
>
> find(assumeSorted[1, 2, 4, 5, 6, 7], 4) would return [4, 5, 6, 7]. This
> is in terms with the general policy of the find function, but is weird.
> Since we know the range is sorted, shouldn't the result be [1, 2, 4]?
>
>
>
I don't think so. You could use findSplit, it returns three ranges [1, 
2], [4], [5, 6, 7].


More information about the Digitalmars-d-learn mailing list