gradle构建脚本定义如下:
4.times { counter ->
task "task$counter" << {
println "I'm task number $counter"
}
}
使用名称task1, task2, task3, task4
定义4个不同的任务。那么4.times
实际上是什么?它只是一个闭包,在这种情况下应用1个参数并调用4次?
它只是一种语法糖吗?
答案 0 :(得分:2)
4.times
不是一个闭包,而是一个循环包装器。使用此语句,您告诉执行4次给定的闭包。在这种情况下,给定的闭包是以下代码:
{ counter ->
task "task$counter" << {
println "I'm task number $counter"
}
}
它创建一个任务,其中包含一个参数( counter )。那是清楚的吗?
此处您为{em>次类定义的次方法docs。正如您所看到的,您可以在数字实例上调用它并传递闭包。在这种特殊情况下,传递的闭包创建了一个任务。