Groovy比较链接

时间:2015-06-12 06:32:36

标签: groovy comparison chain

在python中,以下语句返回正确的结果:

>>> 1 == 1 == 1
True
>>> 1 == 1 == 0
False

这种构造(或类似)在groovy中是否可行?以下失败:

groovy:000> 1 == 1 == 1
===> false

因为第一次比较评估为truetrue不等于1。对此有任何解决方法吗?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

或者如果不是您坚持的AST路线:

(1 == 1) && (1 == 1)

可以以编程方式执行以下操作:

public <T> Boolean allEqual(T... elements) {
    elements.toList().collate(2, 1, false).every { a, b -> a == b }
}

assert allEqual(1, 1, 1)