lambda recursion

ddcovery antoniocabreraperez at gmail.com
Fri Nov 27 17:01:01 UTC 2020


On Friday, 27 November 2020 at 16:40:43 UTC, ddcovery wrote:
> ...
> * Can the lambda be transformed to a template (using T instead 
> "int") but avoiding function/return syntax?
>
> This is an example using function
>
>   template qs(T){
>     T[] qs( T[] items ){
>       return items.length==0
>         ? items
>         : chain(
>           qs(items[1..$].filter!(i=> i<items[0] ).array),
>           items[0..1],
>           qs(items[1..$].filter!(i=> i >= items[0]).array)
>         ).array;
>     }
> }

I mean... transform this into a lambda expression:

     T[] qs(T)( T[] items ){
       return items.length==0
         ? items
         : chain(
           qs(items[1..$].filter!(i=> i<items[0] ).array),
           items[0..1],
           qs(items[1..$].filter!(i=> i >= items[0]).array)
         ).array;
     }




More information about the Digitalmars-d-learn mailing list