Понимание маленького groovy скрипта - PullRequest
1 голос
/ 27 марта 2020

Я абсолютно новичок в groovy и пытаюсь понять существующий код groovy для внесения изменений. Код представляет собой небольшой скрипт groovy, например:

package myapp.confg

appName = "myapp"
appVersion = "103"

tags {
    ags = "${myapp}"
}

Я понимаю, что appName и appVersion являются глобальными переменными. Однако я не могу понять, что такое tags. Это не закрытие и не карта. Есть идеи, что это может быть? Это какой-то способ создания именованной области? Как я могу получить доступ к значению ags вне области действия tags?

1 Ответ

1 голос
/ 28 марта 2020

Это может быть метод с Closure в последнем параметре, и очень часто в Groovy используется последний параметр в методе как Closure, это очень удобно для создания DSL (Delegation. ..) вот так:

// Example 1
def t(Closure c){
  println('from Closure')
}

t {
  // do something
}

// Example 2
def t2(int i, int j, Closure c){
  print("closure with: $i, $j")
}

t2(1,2) {
  // do other something
}

Дополнительные примеры можно найти в do c для делегирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...