java - 4.times闭包的理解

标签 java groovy gradle

gradle构建脚本定义如下:

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

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

那么它只是一个语法糖吗?

最佳答案

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

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

它创建一个任务,该任务的名称中传递了一个参数(计数器)。清楚了吗?

这里是docs for times 方法,为 Number 类定义。如您所见,您可以在 number 实例上调用它并传递闭包。在这种特殊情况下,传递的闭包创建了一个任务。

关于java - 4.times闭包的理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26077783/

相关文章:

java - IntelliJ + 常规 DSL : How to exclude files from being compiled by groovy plugin?

java - 关闭对话框 fragment 后调用父 Activity 中的方法

java - 打印字符串的转义表示

java - 无法解析不受支持的 major.minor 版本 52.0

spring-boot - Spring Cloud Kafka Stream 无法创建生产者配置错误

android - 忽略外部库的混淆配置

Gradle 。说依赖来使用另一个版本的已经包含的依赖

java - 修改ArrayList的ArrayList时并发修改异常

java - 如何使用 JDOM 删除 XML 节点?

list - Groovy中如何实现列表的元素添加?