Ehi Ho creato uno script Groovy che estrae i numeri di versione di alcune cartelle. Vorrei quindi confrontare i numeri di versione e selezionare il più alto.Confronta le stringhe di versione in groove
ho ottenuto il mio script da eseguire tramite la cartella dir e ho quindi ottenere le versioni in questo formato: 02.2.02.01
così ho potuto ottenere qualcosa di simile:
- 02.2.02.01
- 02,2 .02.02
- 02.2.03.01
io non li ho come una lista, ma amo questo:
baseDir.listFiles().each { file ->
def string = file.getName().substring(5, 15)
// do stuff
}
Inoltre ho provato che Groovy poteva confrontare con l'operatore >
e si può! Ma ora ho bisogno di selezionare quello con la versione più alto
+ 1 Si noti che il metodo 'mostRecentVersion' lascerà il parametro' versions' ordinato dopo che è stato eseguito (come 'List.sort' muta la lista per default). Se questo non è voluto, puoi (in groovy 1.8.1+) chiamare: 'def sorted = versions.sort (false) {a, b ->' –
@tim_yates Non potresti lasciarmi godere il mio momento di trionfo ? Oh no, hai dovuto fare il pelo nell'uovo. Ho aggiornato malvolentieri la mia risposta per includere il tuo suggerimento, grazie :) –
Hahaha ... mi dispiace ;-) * riordina alla sua scrivania * –