The return of std.algorithm.find

Stefan Koch via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Nov 15 07:36:39 PST 2016


On Tuesday, 15 November 2016 at 09:50:40 UTC, RazvanN wrote:
> On Tuesday, 15 November 2016 at 09:43:27 UTC, RazvanN wrote:
>> 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]?
>
> The whole function is find!"a <= b"(assumeSorted([1, 2, 4, 5, 
> 6, 7]), 4). And the result is
> the whole range [1, 2, 4, 5, 6, 7].

Are you sure you don't want filter ?


More information about the Digitalmars-d-learn mailing list