`build.gradle` 闭包中的 gradle `it` 属性

lap*_*ots 3 groovy gradle

该属性it存储在gradle中的什么位置?

subprojects {
    println it.class.name // DefaultProject_Decorated
    dependencies {
        println it.class.name // DefaultDependencyHandler_Decorated
Run Code Online (Sandbox Code Playgroud)

因为它不应该是it闭包的默认属性。还是应该?

我认为它有点像def it = this或者我错了?

tim*_*tes 5

在 groovy 闭包中,it是传递给闭包的默认参数。

所以:

def friendly = { "Hello $it" }

assert friendly('tim') == 'Hello tim'
Run Code Online (Sandbox Code Playgroud)

所以在上述情况下,Gradle 将闭包帮助配置的对象传递给闭包本身。