reference to 'self' inside a function
Mehrdad
wfunction at hotmail.com
Wed Jul 18 19:54:10 PDT 2012
On Tuesday, 17 July 2012 at 16:56:17 UTC, angel wrote:
> I propose to introduce a reference to the current function,
> much like 'this' in a class method. Call it 'self' or
> 'thisFunc', or whatever ...
> What might this be good for ?
> For implementing recursion in a lambda function.
> Writing in functional style, one creates many functions, and
> looking for reasonable names for these functions becomes
> unnecessarily painful.
Recursive lambdas? o.O
Instead of changing the language, I'd say your situation merits
using the Y combinator... maybe define Y(f) to be (g => g(g))(g
=> f(x => g(g)(x)))
then if you need to define factorial, just say...
fact = Y(fact => n => n > 0 ? n * fact(n - 1) : 1);
More information about the Digitalmars-d
mailing list