Collections 还是一行中包含Groovy的布尔值列表?

Collections 还是一行中包含Groovy的布尔值列表?,collections,groovy,Collections,Groovy,我在groovy类中有一个返回布尔值列表的方法,但我真正想要的是这个列表中的值一起出现的结果 示例输出: def result1 = foo*.isDisplayed() // [false, false, false] (I want false) def reslut2 = bar*.isDisplayed() // [true, true, true] (I want true) def result3 = baz*.isDisplayed() // [true, false, false

我在groovy类中有一个返回布尔值列表的方法,但我真正想要的是这个列表中的值一起出现的结果

示例输出:

def result1 = foo*.isDisplayed() // [false, false, false] (I want false)
def reslut2 = bar*.isDisplayed() // [true, true, true] (I want true)
def result3 = baz*.isDisplayed() // [true, false, false] (I want true)
我肯定有合适的,但我找不到合适的

很明显,我可以用
for
循环(
for(boolean val:result).
)来循环所有内容,但我知道有一个性感的一行

我找到了一个方法(使用!不是很漂亮的一行,但已经足够好了。我将把这个问题留到后面一点,如果没有答案,我将用这个自我回答

def result = (foobar*.isDisplayed().findResult { it == true ?: null } != null)
我仍然认为还有一种更优雅的方法…

如果您想在
result3
中使用true(实际上是或代替AND)

相反,如果
result3
(和条件)需要false,则使用

A

主要是:

def result1, result2, result3
(result1, result2, result3) = [foo, bar, baz]
                                 .collectNested{it.isDisplayed()}*.any()
如果希望在
result3
的情况下为true,请使用(实际为或代替AND)

相反,如果
result3
(和条件)需要false,则使用

A

主要是:

def result1, result2, result3
(result1, result2, result3) = [foo, bar, baz]
                                 .collectNested{it.isDisplayed()}*.any()

哇,比我刚刚在lol中找到并编辑的解决方案好得多。干得好!@DaveNewton感谢这个链接。我编辑了这个链接,以引用Groovy中的对象,而不是
DefaultGroovyMethods
。哈哈,废话,我说的是
,意思是
。谢谢你的更新,比我刚刚找到并编辑的解决方案好得多ted在lol中。干得好!@DaveNewton感谢你的链接。我编辑了链接以引用Groovy中的对象,而不是
DefaultGroovyMethods
。哈哈,废话,我说的是
,我的意思是
。谢谢你的更新。你可以将问题的主题更改为
,或者将问题更改为“我想要错误”在第三种情况下。很高兴这是有帮助的。:)完成了,谢谢你指出这一点!另一个主要
(result1,result2,result3)=[foo,bar,baz].collectNested{it.isDisplayed()}*.any()
@dmahapatro很好,谢谢。不是我的代码的实际外观/工作方式,而是一个很好的工具!;-)在第三种情况下,您可以将问题的主题更改为
,或将问题更改为“我想要false”。很高兴这有帮助。:)完成了,谢谢你指出这一点!另一个主要
(result1,result2,result3)=[foo,bar,baz].collectNested{it.isDisplayed()}*.any()
@dmahapatro很好,谢谢。不是我的代码的实际外观/工作方式,而是一个很好的工具!;-)
def result1, result2, result3
(result1, result2, result3) = [foo, bar, baz]
                                 .collectNested{it.isDisplayed()}*.any()