raf*_*ian 4 groovy expression conditional-operator statements
是否可以使用带有Groovy条件运算符的表达式包含语句?这就是我现在正在做的事情,我希望在一个带有println语句的条件语句中将其分解......
if(!expired){
println 'expired is null'
return true
}
else if( now.after(expired)){
println 'cache has expired'
return true
}
else
return false
Run Code Online (Sandbox Code Playgroud)
转换成单一陈述......
return (!expired) ? true : (now.after(expired)) ? true : false
Run Code Online (Sandbox Code Playgroud)
...想为调试目的做这样的事情......
return (!expired) ? println 'expired is null' true : (now.after(expired)) ? println 'cache has expired' true : false
Run Code Online (Sandbox Code Playgroud)
正如GrailsGuy在另一个答案中所说,使用闭包:
def expired= false, expired2= true
return (!expired) ?
{println "expired is null"; true}() :
(expired2) ? {println "cache has expired"; true}() : false
Run Code Online (Sandbox Code Playgroud)