4次关闭理解

时间:2014-09-27 18:26:46

标签: java groovy gradle

gradle构建脚本定义如下:

4.times { counter ->
    task "task$counter" << {
        println "I'm task number $counter"
    }
}

使用名称task1, task2, task3, task4定义4个不同的任务。那么4.times实际上是什么?它只是一个闭包,在这种情况下应用1个参数并调用4次?

它只是一种语法糖吗?

1 个答案:

答案 0 :(得分:2)

4.times不是一个闭包,而是一个循环包装器。使用此语句,您告诉执行4次给定的闭包。在这种情况下,给定的闭包是以下代码:

{ counter ->
    task "task$counter" << {
        println "I'm task number $counter"
    }
}

它创建一个任务,其中包含一个参数( counter )。那是清楚的吗?

此处您为{em>次类定义的方法docs。正如您所看到的,您可以在数字实例上调用它并传递闭包。在这种特殊情况下,传递的闭包创建了一个任务。