On 05/09/2015 01:20 PM, Dennis Ritchie wrote:
Hi,
Can lambda functions or delegates in D to call themselves?
Can I write something like this:

-----
import std.stdio;

void main() {

     auto fact = function (int x) => x * { if (x) fact(x - 1); };

     assert(fact(10) == 3628800);
}

assert((function int(int x)=>x?x*__traits(parent,{})(x-1):1)(10)==3628800);

Reply via email to