gpt4 book ai didi

groovy - 安全导航运算符(operator) (?.) 不在 gradle 中工作?

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

我有这个文件gradle/build.gradle,内容如下

println "project name is: ${project.name}" // gives `project name is gradle`
println "expects null: ${project?.foo?.name}" // fail to run

在第二行中,安全导航运算符 ?. 似乎未按预期工作。当我在 gradle/ 下运行 gradle --stacktrace 时,这是来自 gradle 的错误消息:

Caused by: groovy.lang.MissingPropertyException: Could not find property 'foo' on root project 'gradle'.

那么,为什么会发生这种情况?

最佳答案

安全导航运算符不会保护您调用无效属性,它只是在有效属性为 null 时保护您。

gradle project class没有 foo 属性,因此您会看到上述行为。

您可以protect the code调用 hasProperty

关于groovy - 安全导航运算符(operator) (?.) 不在 gradle 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22273915/

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