Eine neuere, standardisierte und allgemeinere Methode zum Durchlaufen eines Verzeichnisses, das mehrere Rückrufe unterstützt, ist traverse
.
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.
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%sollte so etwas funktionieren
%Vor%oder ich denke, deinen Code so zu modifizieren
%Vor%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.
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%Das Folgende ist nicht getestet, aber die findAll-Methode sollte helfen, Ihren Code sehr übersichtlich zu machen:
%Vor% Eine neuere, standardisierte und allgemeinere Methode zum Durchlaufen eines Verzeichnisses, das mehrere Rückrufe unterstützt, ist traverse
.
sollte so etwas funktionieren
%Vor%oder ich denke, deinen Code so zu modifizieren
%Vor%Das Folgende ist nicht getestet, aber die findAll-Methode sollte helfen, Ihren Code sehr übersichtlich zu machen:
%Vor%