[英]Groovy closure return value independent of code structure
我在build.gradle中有一些代碼
test {
doFirst {
def profile = System.getenv("...")
if (profile == "dev") {
println "1: if start"
// ...
println "2: if end"
}
}
}
最后一行(“ 2:如果結束”)仍然執行,即使配置文件不是“ dev”
看起來很時髦,不在乎代碼結構:它簡單地返回最后一行作為閉包的結果
因為如果我將代碼修改為:
test {
doFirst {
def profile = System.getenv("...")
if (profile == "dev") {
println "1: if start"
// ...
println "2: if end"
}
println "3: after if"
}
}
然后,以這種方式,如果概要文件不是“ dev”,則一切正常-在檢查語句groovy之后執行“ 3:if”之后的行
這是錯誤或功能嗎? :)
是的,正如所評論的,這僅在調試器中-groovy可以正常工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.