D - Recursive function literals?
- James Widman (9/9) Apr 22 2004 Is there any way to do it? If not, then I'm thinking, since "body" is
Is there any way to do it? If not, then I'm thinking, since "body" is already a keyword, you could just use that: h(function int ( int i ) { if ( i == 0 ) return i; return i + body( i-1); }); If that becomes adopted, it might also be good to encourage the use of "body" for recursions in general; it's like a big red flag that says "I recurse!", which could be handy in functions so large that you temporarily forget their names while reading them. ;-)
Apr 22 2004
I think it would be better to just name it! "James Widman" <james jwidman.com> wrote in message news:james-CD365A.13185322042004 digitalmars.com...Is there any way to do it? If not, then I'm thinking, since "body" is already a keyword, you could just use that: h(function int ( int i ) { if ( i == 0 ) return i; return i + body( i-1); }); If that becomes adopted, it might also be good to encourage the use of "body" for recursions in general; it's like a big red flag that says "I recurse!", which could be handy in functions so large that you temporarily forget their names while reading them. ;-)
Apr 22 2004
I'm strange, but I like it. Then again I'm also of the opinion that there ought to be a 'pass()' statement for recursing into the superclass. A la: class Foo { int somefunc(int x) { ... } } class Bar { override int somefunc(int x) { if (x == SOME_SPECIAL_CASE) // ... do stuff pass(x); // used to be: super.somefunc(x) } } I think pass() and body() would make nice siblings. -C. Sauls -Invironz James Widman wrote:Is there any way to do it? If not, then I'm thinking, since "body" is already a keyword, you could just use that: h(function int ( int i ) { if ( i == 0 ) return i; return i + body( i-1); }); If that becomes adopted, it might also be good to encourage the use of "body" for recursions in general; it's like a big red flag that says "I recurse!", which could be handy in functions so large that you temporarily forget their names while reading them. ;-)
Apr 22 2004