quickSort

Jonathan M Davis jmdavisProg at gmx.com
Tue Sep 13 22:58:17 PDT 2011


On Wednesday, September 14, 2011 05:43:37 %u wrote:
> i have qustion why filter can't return int[]
> and if lambda return  the last Expression without return keyword it would
> much cleaner

filter can't return int[]. filter does not alter the original array. It returns 
a new range with only the elements which match the predicate. For it to return 
int[], it would have to allocate a new array, and that would be inefficient. 
Instead, it returns a new range which wraps the original array. If you want to 
actually allocate a new array, then just pass the result of filter to 
std.array.array.

As for the lambda syntax, there has been some discussion of simplifying it, 
but there are potential issues with it, and so for the moment, it's staying 
as-is.

- Jonathan M Davis


More information about the Digitalmars-d-learn mailing list