Ok, questo dovrebbe essere facile ...Groovy (File IO): trovare tutti i file e restituire tutti i file - il modo Groovy
Sono nuovo di Groovy e sto cercando di implementare la seguente logica:
def testFiles = findAllTestFiles();
Finora, ho creato il seguente codice che stampa correttamente tutti i nomi di file. Tuttavia, invece di stampare, ho solo bisogno di metterli in una collezione. Certo, potrei fare questo con il vecchio modo java: basta istanziare una raccolta, aggiungere tutti gli elementi e restituirla. Tuttavia, questo non mi insegnerebbe nulla.
Quindi, come si fa a fare questo in modo fantastico, "Groovy"?
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;
}
Sto cercando di implementare findAlltestFiles() in Groovy con il meno codice possibile, pur essendo leggibile.
Sento che ho davvero bisogno dell'elenco dei file, ma probabilmente ho torto (dato che questa è la mia prima classe Groovy, mai). Prenderò in considerazione il tuo primo suggerimento in modo più approfondito - sembra una ** grande ** intuizione. Dovrò giocarci per capire appieno cosa stai dicendo e come applicarlo - questo è un modo completamente diverso di pensare alle cose! Mi piace ... Groovy sta crescendo su di me, veloce. – gMale
Ho riscritto il mio intero script, cercando di progettare con * chiusure * in mente. A volte, mi fa ancora un po 'male la testa per pensarci, profondamente. Ma sono venduto su Groovy quindi prenderò alcuni libri e comincerò a padroneggiare questo nuovo approccio. Sono entusiasta di sapere come usare Groovy Console ... grazie per il tuo aiuto. – gMale