Groovy (File IO): finde alle Dateien und gebe alle Dateien zurück - den Groovy-Weg

8

Ok, das sollte einfach sein ...

Ich bin neu zu groovy und ich bin auf der Suche nach der folgenden Logik:

%Vor%

Bisher habe ich den folgenden Code erstellt, der alle Dateinamen erfolgreich druckt. Anstatt jedoch zu drucken, muss ich sie nur in eine Sammlung legen. Natürlich könnte ich dies auf die alte Java-Art tun: einfach eine Sammlung instantiieren, alle Elemente hinzufügen und sie zurückgeben. Aber das würde mir nichts lehren.

Also, wie machst du das cool, "Groovy" Weg?

%Vor%

Ich möchte findAlltestFiles () in Groovy implementieren, indem ich so wenig Code wie möglich benutze und trotzdem lesbar bin.

    
gMale 29.10.2010, 19:43
quelle

4 Antworten

12

Ich würde versuchen, den Aufbau der Sammlung vollständig zu vermeiden. Wenn Sie Closures verwenden, können Sie die Logik trennen, um die Dateien so auszuwählen, wie Sie es tatsächlich tun möchten:

%Vor%

Wenn Sie etwas an den Testdateien vornehmen möchten, können Sie dies direkt tun, ohne eine Liste im Speicher zu erstellen:

%Vor%

oder wenn Sie die Liste wirklich wollen, können Sie sie einfach generieren, indem Sie die sinnvolle Sammlung verwenden:

%Vor%     
ataylor 29.10.2010, 20:17
quelle
10
___ qstnhdr ___ Groovy (File IO): finde alle Dateien und gebe alle Dateien zurück - den Groovy-Weg ___ answer4055478 ___

sollte so etwas funktionieren

%Vor%

oder ich denke, deinen Code so zu modifizieren

%Vor%     
___ qstntxt ___

Ok, das sollte einfach sein ...

Ich bin neu zu groovy und ich bin auf der Suche nach der folgenden Logik:

%Vor%

Bisher habe ich den folgenden Code erstellt, der alle Dateinamen erfolgreich druckt. Anstatt jedoch zu drucken, muss ich sie nur in eine Sammlung legen. Natürlich könnte ich dies auf die alte Java-Art tun: einfach eine Sammlung instantiieren, alle Elemente hinzufügen und sie zurückgeben. Aber das würde mir nichts lehren.

Also, wie machst du das cool, "Groovy" Weg?

%Vor%

Ich möchte findAlltestFiles () in Groovy implementieren, indem ich so wenig Code wie möglich benutze und trotzdem lesbar bin.

    
___ answer4055568 ___

Ich würde versuchen, den Aufbau der Sammlung vollständig zu vermeiden. Wenn Sie Closures verwenden, können Sie die Logik trennen, um die Dateien so auszuwählen, wie Sie es tatsächlich tun möchten:

%Vor%

Wenn Sie etwas an den Testdateien vornehmen möchten, können Sie dies direkt tun, ohne eine Liste im Speicher zu erstellen:

%Vor%

oder wenn Sie die Liste wirklich wollen, können Sie sie einfach generieren, indem Sie die sinnvolle Sammlung verwenden:

%Vor%     
___ answer4090227 ___

Das Folgende ist nicht getestet, aber die findAll-Methode sollte helfen, Ihren Code sehr übersichtlich zu machen:

%Vor%     
___ antwort4331132 ___

Eine neuere, standardisierte und allgemeinere Methode zum Durchlaufen eines Verzeichnisses, das mehrere Rückrufe unterstützt, ist traverse .

%Vor%     
___ tag123fileio ___ Datei-E / A ist Eingabe / Ausgabe, die das Dateisystem betrifft. Dies kann Operationen an Verzeichnissen und Dateien umfassen, wie das Erstellen und Löschen von Dateien, das Lesen von Dateien und das Schreiben von Ausgaben in Dateien. ___ tag123file ___ Ein Block beliebiger Informationen oder Ressourcen zum Speichern von Informationen, auf die der stringbasierte Name oder Pfad zugreifen kann. Dateien stehen Computerprogrammen zur Verfügung und basieren normalerweise auf einer Art persistentem Speicher. ___ tag123groovy ___ Groovy ist eine objektorientierte Programmiersprache für die Java-Plattform. Es ist eine dynamische Sprache mit ähnlichen Funktionen wie Python, Ruby, Perl und Smalltalk. Es kann als Skriptsprache für die Java-Plattform verwendet werden. ___
btiernay 02.12.2010 02:27
quelle
2

sollte so etwas funktionieren

%Vor%

oder ich denke, deinen Code so zu modifizieren

%Vor%     
Aaron Saunders 29.10.2010 20:03
quelle
2

Das Folgende ist nicht getestet, aber die findAll-Methode sollte helfen, Ihren Code sehr übersichtlich zu machen:

%Vor%     
Yevgeniy Brikman 03.11.2010 18:15
quelle

Tags und Links