gpt4 book ai didi

groovy - 局部变量的名称查找

转载 作者:行者123 更新时间:2023-12-03 05:16:26 25 4
gpt4 key购买 nike

我对 Groovy 中的名称查找有疑问。考虑以下构建脚本:

apply([plugin: 'java'])

def dependenciesClosure = {
delegate.ext.name = "DelegateName"
println name
println delegate.toString()
project(':api')
}

dependenciesClosure();

dependencies(dependenciesClosure)
gradle check命令产生输出
webapp
project ':webapp'
DelegateName
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@397ef2

考虑到这一点,首先在委托(delegate)对象上执行非局部变量名称查找,如果找不到名称,则在全局 project 上执行。目的。那是对的吗?

最佳答案

正确,Gradle 在配置闭包中使用委托(delegate)优先解析策略。在这种情况下,委托(delegate)是 DependencyHandler 的一个实例。 .您可以通过查看 Gradle DSL documentation 来查看任何给定的 block 代表什么。 .

编辑:为了确认您的最后一点,是的,构建脚本本身委托(delegate)给 Project 的实例。 .

关于groovy - 局部变量的名称查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27874201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com