理解一个小的groovy脚本

理解一个小的groovy脚本,groovy,Groovy,我是groovy的新手,我正在尝试理解现有的groovy代码以进行更改。代码是一个小的groovy脚本,如下所示: package myapp.confg appName = "myapp" appVersion = "103" tags { ags = "${myapp}" } 我知道appName和appVersion是全局变量。但是,我无法理解什么是标记。这不是一个终结,也不是一张地图。你知道这是什么吗?这是创建命名范围的某种方式吗?如何从标记范围之外访问ags的值?这可能是

我是groovy的新手,我正在尝试理解现有的groovy代码以进行更改。代码是一个小的groovy脚本,如下所示:

package myapp.confg

appName = "myapp"
appVersion = "103"

tags {
    ags = "${myapp}"
}

我知道
appName
appVersion
是全局变量。但是,我无法理解什么是
标记。这不是一个终结,也不是一张地图。你知道这是什么吗?这是创建命名范围的某种方式吗?如何从
标记
范围之外访问
ags
的值?

这可能是一个在最后一个参数中带有闭包的方法,在Groovy中使用方法中的最后一个参数作为
闭包
非常常见,这对于构建DSL(委托…)非常方便,如下所示:


更多示例可以在for Delegation中找到。

它可以是一个以闭包为参数的函数。但是如果没有执行上下文,它只是一个猜测。它必须是一个闭包,因为{}仅用于关键字-y的闭包和块,例如if/for/while/…这是某种DSL,如果没有运行此脚本的环境,则无法向您提供正确的建议。@cfrick谢谢,我同意有一个大型框架可以调用它。不幸的是,我不能把所有的代码放在这里。我将对此进行调查,也许会对这是什么添加评论。谢谢,这就是它原来的样子。这是对带有
闭包
参数的方法的调用。
// 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
}