Как использовать оператор if с выражением соответствия в Groovy - PullRequest
0 голосов
/ 01 октября 2019

У меня есть следующий код Groovy, где /data/JarFiles/ содержит много .jar файлов, а /data/XML/Platform/ содержит некоторые xml файлы, используемые для запуска jar:

Jar=[]
path = "/data/JarFiles"
new File(path).eachFileMatch(~/.*.jar/) {
      Jar.add(it)
}  


return Jar.sort{it.lastModified()}.collect{it.name}.reverse()

if (Jar.equals("Core2_v4.1.6.jar") && Product.equals("maximus")) {
  Platform=[]
path2 = "/data/XML/Platform/"
new File(path2).eachFileMatch(~/.*K6_Platform.*/) {
      Platform.add(it.getName())
}  
return Platform.sort()

Я хочу сделать что-то вродеэто:

...
    if (Jar.Match(~/.*Core2_v4.*/) && Product.equals("maximus")) {
...

Может кто-нибудь помочь мне с этим, пожалуйста? Спасибо!

Ответы [ 2 ]

0 голосов
/ 02 октября 2019

Идеальное решение для меня:

Jar=[]
path = "/data/JarFiles"
new File(path).eachFileMatch(~/.*.jar/) {
      Jar.add(it)
}  

return Jar.sort{it.lastModified()}.collect{it.name}.reverse()

if (Jar=~/Core2_v4/) && Product.equals("maximus")) {
  Platform=[]
path2 = "/data/XML/Platform/"
new File(path2).eachFileMatch(~/.*K6_Platform.*/) {
      Platform.add(it.getName())
}  
return Platform.sort()
0 голосов
/ 01 октября 2019

вот пример, который отлично работает

def Jar = ['sdfgsdfg', 'Core2_v4.1.jar', 'aaa', 'bbb']
def Product = "maximus"

if( Jar.find{it=~/Core2_v4/} && Product=="maximus" ){
    println "OK"
}else{
    println "Failed"
}
...