首页 > 解决方案 > 了解一个小型 groovy 脚本

问题描述

我对 groovy 完全陌生,我正在尝试了解现有的 groovy 代码以进行更改。该代码是一个像这样的小型 groovy 脚本:

package myapp.confg

appName = "myapp"
appVersion = "103"

tags {
    ags = "${myapp}"
}

我理解这一点,appName并且appVersion是全局变量。但是我无法理解是什么tags。它不是闭包,也不是地图。任何想法这可能是什么?它是创建命名范围的某种方式吗?如何ags从范围之外访问 的值tags

标签: groovy

解决方案


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

// 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
}

更多示例可以在委派文档中找到。


推荐阅读