Ok, das sollte einfach sein ...Groovy (File IO): alle Dateien finden und alle Dateien zurückgeben - der Groovy Weg
Ich bin neu in groovy und ich bin auf der Suche nach der folgenden Logik zu implementieren:
def testFiles = findAllTestFiles();
Bisher bin ich mit dem unten stehenden Code gekommen, 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?
static File[] findAllTestFiles() {
def directory = new File("src/test/java");
def closure = {File f -> if(f.name =~ /Test\.java$/) println f }
directory.eachFileRecurse FileType.FILES, closure
return null;
}
Ich suche findAlltestFiles() in Groovy mit so wenig Code wie möglich zu implementieren, während noch lesbar sein.
Ich fühle, dass ich wirklich die Liste der Dateien brauche, aber ich bin wahrscheinlich falsch (da dies meine erste Groovy-Klasse ist). Ich werde Ihren ersten Vorschlag genauer betrachten - es scheint eine ** großartige ** Einsicht zu sein. Ich muss damit spielen, um zu verstehen, was du sagst und wie du es anwenden kannst - das ist eine ganz andere Art, über Dinge nachzudenken! Ich mag es ... groovy wächst auf mich, schnell. – gMale
Ich habe mein gesamtes Skript neu geschrieben und versuche, mit * closures * zu denken. Manchmal schmerzt es mich immer noch ein wenig, tief darüber nachzudenken. Aber ich bin auf Groovy verkauft, also werde ich ein paar Bücher bekommen und anfangen, diesen neuen Ansatz zu meistern. Ich bin gespannt auf die Verwendung der Groovy Console ... danke für deine Hilfe. – gMale