Rekursiver Aufruf: Hilfsparams unsauber?

  • Ist es unsauber, wenn man bei einer Funktion, die sich rekursiv aufruft, Hilfsparameter wie z.b. Counter verwendet?

  • wenn die variable außerhalb der schleife gesetzt wird, ist es definitiv unsauber. Aber wenn du wissen willst, wie häufig die schleife gelaufen ist, deine einzige chance. Die Rekursion weiß ja nicht, in welcher instanz sie läuft. Aber wie winfreak schon schreibt, parameter sind wichtig, nur so kann die rekursion aufgebaut werden. kannst ja auch mehrere parameter übergeben, und eine ist immer die selbe, dein maximalwert für den abbruch, falls du etwas immer größer rechnen willst, aber die grenze nicht explizit reinprogrammieren willst. Du kannst natürlich den counter auch als parameter geben. wenn der immer ++ macht, müsste am ende auch die schleifenzahl zurücktransportiert werden.

    rekursion (x, counter){
    ...
    rekursion (x, counter++);
    }

    Um welche Sprache gehts überhaupt?

  • Etwas mehr Details (welche Sprache, was für ein Problem etc) wären hilfreich. Grundsätzlich sind Hilfsparameter aber legitim, wobei man bei viel mehreren "Hilfsparametern" dann eher zu einem Objekt greifen sollte. Zu dem bereits gesagten ist noch hinzuzufügen, dass du natürlich auch eine Eintrittsfunktion schreiben kannst.

    Um Dirk's Beispiel zu nehmen:

    Code
    rekursionMitCounter(x, counter){
       ...
       rekursionMitCounter(x, counter++);
    }
    
    
    rekurion(x) {
       rekursionMitCounter(x, 0);
    }
  • Die letzte Antwort auf dieses Thema liegt mehr als 365 Tage zurück. Das Thema ist womöglich bereits veraltet. Bitte erstelle ggf. ein neues Thema.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!