Rufen Sie ein Funktionsobjekt rekursiv auf

8

Wie rufe ich ein Funktionsobjekt von selbst auf? Scheint, dass ich this nicht benutzen kann. Beispiel:

%Vor%

Was platziere ich bei ?? ?

    
r.v 29.07.2013, 15:41
quelle

6 Antworten

13
%Vor%

Funktioniert gut für mich. Live-Beispiel.

    
dyp 29.07.2013, 15:45
quelle
9

Sie können entweder den Namen des überladenen Operators verwenden:

%Vor%

oder rufen Sie den Operator für das aktuelle Objekt auf:

%Vor%     
Mike Seymour 29.07.2013 15:49
quelle
4

Als DyP erwähnt, können Sie (*this)(n-1) aufrufen. Es ist jedoch merkwürdig zu lesen, also solltest du es lieber in eine separate Methode calculate_factoral aufteilen und stattdessen

aufrufen     
Sean 29.07.2013 15:46
quelle
2

Wie schon einige Leute erwähnt haben, können Sie einfach die (*this)(n - 1) -Syntax verwenden. Aber diese Syntax ist nicht gerade intuitiv und eine etwas bessere Lösung könnte darin bestehen, die tatsächliche Implementierung in eine andere benannte Methode zu zerlegen.

%Vor%     
JaredPar 29.07.2013 15:48
quelle
1

Sie können entweder die explizite Operatorsyntax verwenden:

%Vor%

Oder dereferenz this :

%Vor%     
Alexey Biryukov 29.07.2013 15:53
quelle
0

faktoriell sicher?

Ich kenne nur Java und eine rekursive Fakultät kann wie folgt geschrieben werden:

%Vor%

Ich gehe davon aus, dass das gleiche Prinzip gilt.

    
ke cue 29.07.2013 15:48
quelle

Tags und Links