Groovy добавить строку в результат - PullRequest
0 голосов
/ 15 мая 2019

У меня есть следующий код groovy, который возвращает имена папок в некотором каталоге:

def folder = "C:\\WinPackages-Development";
def (dir1, value2) = OPERATOR1.tokenize( ' | ' )
def finaldir = "${folder}\\${dir1}\\${APP_TYPE1}\\"
def baseDir = new File(finaldir);
def results = baseDir.listFiles()*.name
return results

Может кто-нибудь намекнуть мне, как добавить некоторую дополнительную (фактически поддельную) строку в «result»?Например, сейчас он возвращает «dir1, dir2».Как вернуть "dir1, dir2, somecustomdir"?

Ответы [ 3 ]

1 голос
/ 16 мая 2019

+ работает также в одной строке:

def results = baseDir.listFiles()*.name + 'someFakeString'
1 голос
/ 15 мая 2019

Ответы в комментариях работают, вы также можете использовать оператор левого сдвига:

def method() {
  def result = [1,2,3]  

  result << 4
}

println("method returns: ${method()}")

, что приводит к:

~> groovy solution.groovy
method returns: [1, 2, 3, 4]

~>

при запуске.

0 голосов
/ 16 мая 2019

Просто добавьте пользовательский объект (например, String) в конец списка с помощью оператора <<.Вы также можете использовать метод добавления в стиле Java. </p>

def someMethod(def yourCustomObject){
List result = []
result << yourCustomObject// equals to result.add(yourCustomObject)
return result
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...