Thread Verzeichnisbaum: Flaches Array mehrdimensional printen
(13 answers)
Opened by root at 2005-03-26 12:20
@esskar: Ich bin durch deinen Ansatz gar nicht durchgestiegen. Er hat bei mir nur Speicheradressen (oder was diese Zahlenkombinationen seinen sollen) ausgegeben.
Ich verstehe da gar nix!!! Sorry! Könntest Du es ein bisschen kommentieren oder erklären? Ich würde gerne etwas lernen und nicht nur mit fremden Code ans Ziel kommen! Danke!!! @renee: Das es nur rekursiv funktioniert ist mir schon klar, die Funktion muss sich solange selbst aufrufen, bis vom Filenamen nichts mehr über ist. Aber wie genau geht es von Statten? Du nimmst zuerst einen Path und solange du dich noch in der Verzeichnisangabe des Path befindest rufst du dich selbst auf, übergibst aber an dich nur die nächst höhere Ebene im Path, solange bis zu keinen $sub mehr hast, sprich einen Filenamen hast. Das machst Du mit Hashkeys, also hast Du keine Doppler bei gleichem Mutterverzeichnis des Filename. Aber wie genau funktioniert das mit der Dimension? Da bin ich ausgestiegen. Du hast als key den wert der vorher Sub war. Überschreibst Du somit den Hasheintrag (Key - Wert) und als Wert gibst Du ein Referenz auf sich selbst, also ein Hash. Damit hast Du die mehrdimensionalität??? Diese rekursion hatte ich noch nicht gesehen. Hab nur gesehen, dass sich die Funktion (also sub) wieder selbst aufruft. Ich müsste also das Array in sich selbst pushen? Dafür müsste ich die Position im Array finden in die ich pushen muss, sonst habe ich Doppler??? Was wäre denn, wenn ich nun einfach das fertige Hash nehme und es jedes Element durchlaufe und entsprechend der Dimensionen in ein Array umwandler? Vielen Dank euch beiden!!! |