[ascoders] Re: Rekursionsende feststellen?

Hallo Arne,


ich bin mir noch nicht ganz so sicher was du brauchst.


Ich habe vor ein Paar Wochen mal ein Navigationsmenu mit hierarchischer Datenstruktur geschrieben. Dabei brauchte ich Methoden um die MCs der Knoten vertikal zu sortieren oder um Knoten zu öffnen und schliessen. Ich habe dazu rekursive Funktion benutzt (die sich immer wieder selbst aufruft).

Hier ein Beispiel:

p.close = function (dontSort) {
        var i, c;
        for (i=0; i<this.childItems.length; i++) {
                c = this.childItems[ i ];
                c._visible = false;
                c.close( true );
        }
        if (dontSort != true) {
                this.isOpen = false;
                this.gotoAndStop( "closed" );
                this.parentItem.vSort();
        }
};

Der Teil in dem if-Konstrukt wird als letztes ausgeführt. Und nur ein mal.
Meinst du so etwas?



Timo





Am Montag, 05.05.03 um 12:35 Uhr schrieb Arne Oberländer:


Hi,

ich versuche es ganz kurz zu machen:

trotz aller dokumentierter oder undokumentierter Alternativen, kann es in
einem Projekt doch mal vorkommen, dass man mal rekursiv z. B. durch einen
XML-Baum durch muss.
Vielleicht habe ich hier einfach größten Nachholbedarf, deswegen widerlegt
oder bestätigt bitte folgende Punkte:


- das exakte(!) Ende einer Rekursion durch einen umfangreichen Baum ist
allgemein nur sehr schwer (wie macht Ihr´s denn?) festzustellen.

- dementsprechend ist am Ende möglichst ein Event zu triggern, um im
Programm fortzufahren; alles andere ist unsicher. Aber welchen allgemeinen
Event-Trigger nehmt Ihr denn dafür?


Ich muss gestehen, dass mir das in aller Grausamkeit für eine sehr lange
Zeit (Schande) nicht bewusst war.
Man kann fast immer um so ein Problem drum herum kommen, aber mich
interessiert jetzt mal, was Ihr da so macht.


Jeder Kommentar freut mich ;-)

Gruß
_____
Arne

P.S.: Falls einige nicht sofort wissen, wo das Problem liegt, poste ich
gerne mal ein Beispiel, das ist nun wirklich schnell gemacht.

------------------------------------------------------
Archiv   : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------


------------------------------------------------------ Archiv : http://www.freelists.org/archives/ascoders/ Optionen : http://www.freelists.org/list/ascoders ------------------------------------------------------

Other related posts: