我们假设我们在java中有这样的代码:
if(A) { return X }
if(B) { return Y }
return Z
如何在groovy中重写它?
我们不能这样写,因为它不起作用。我们也可以这样写:
if(A) {
return X
}
else {
if(B) return Y
else return Z
}
但它并不优雅。有什么想法吗?
答案 0 :(得分:2)
可以使用三元运算符完成:
def X = 1
def Y = 2
def Z = 3
def A = null
def B = 1
assert 2 == A ? X : B ? Y : Z
A = 1
B = null
assert 1 == A ? X : B ? Y : Z
A = null
B = null
assert 3 == A ? X : B ? Y : Z