Hola, he creado un script de Groovy que extraerá los números de versión de algunas carpetas. Entonces me gustaría comparar los números de versión y seleccionar el más alto.Comparar cadenas de versiones en groovy
obtuve mi secuencia de comandos para ejecutar a través de la carpeta dir en cuando me siento las versiones en este formato: 02.2.02.01
así que podría conseguir algo como esto:
- 02.2.02.01
- 02,2 .02.02
- 02.2.03.01
no tengo como una lista, pero como esto:
baseDir.listFiles().each { file ->
def string = file.getName().substring(5, 15)
// do stuff
}
También he probado que Groovy podría compararlos con el operador >
y puede! Pero ahora tengo que seleccionar el que tiene la versión más alta
+ 1 Cabe señalar que el método 'mostRecentVersion' dejará el parámetro' versions' ordenado después de que se haya ejecutado (ya que 'List.sort' muta la lista de forma predeterminada). Si esto no se quiere, puedes (en Groovy 1.8.1+) llamar: 'def sorted = versions.sort (false) {a, b ->' –
@tim_yates ¿No podrías dejarme disfrutar mi momento de triunfo? ? Oh no, tenías que criticar. He actualizado a regañadientes mi respuesta para incluir su sugerencia, gracias :) –
Jajaja ... lo siento ;-) * se mezcla de nuevo a su escritorio * –