Collections 如何限制groovy中每个闭包的打印值?

Collections 如何限制groovy中每个闭包的打印值?,collections,groovy,Collections,Groovy,在groovy循环中: x = [1,2,3,4,5] x.each { i -> // other CRUD type functionality - required // print each values - not required } 我可以限制each子句中的打印值吗。实际上,我希望执行CRUD功能。但在打印之后,我打印了我不想要的每个值 我目前的输出: 1 2 3 4 5 6 ==>1 ==>2 =

在groovy循环中:

x = [1,2,3,4,5]
  x.each { i ->
            // other CRUD type functionality - required
            // print each values - not required
  }   
我可以限制each子句中的打印值吗。实际上,我希望执行CRUD功能。但在打印之后,我打印了我不想要的每个值

我目前的输出:

1
2
3
4
5
6
==>1
==>2
==>3
==>4
==>5
==>6

从闭包返回以跳过元素:

def list = [1, 2, 3, 4, 5, 6]

list.each { i ->
  // skip uneven values
  if (!(i % 2 == 0)) return

  println i
}   

并不是说返回只是跳过了迭代步骤,并且没有从执行代码的函数返回。

或者,使用
findAll
处理感兴趣的列表:

[1,2,3,4,5].findAll { it % 2 == 0 }.each { println it }
例如,将只打印偶数

编辑 等等,您的意思是在groovy控制台中,它以反向类型显示脚本的返回值吗

each
返回它所处理的列表,因此您将在执行后看到该列表


您可以通过将
null
放在脚本末尾(或返回
null
的内容,如
println“done”
)来停止此操作。

在脚本末尾使用
return
语句

x = [1,2,3,4,5]
x.each{println it}
return

你是说在groovy控制台中?脚本完成后,它会在黑色文本上以黄色显示
x
的值。我用当前输出更新了我的帖子。我不希望这些==>*值出现。是否打印出来?从你的问题中我看不出他们是怎么出现的是的,除了“6”。抱歉,我的错误。仍在每个闭包内打印值。我尝试了::::x.each{I->..return null}我用当前输出更新了我的帖子..我不希望出现这些==>*值。