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

时间:2013-11-04 16:17:00

标签: collections groovy

在groovy循环中:

x = [1,2,3,4,5]
  x.each { i ->
            // other CRUD type functionality - required
            // print each values - not required
  }   

我可以限制每个子句中的打印值。其实我想要CRUD功能执行。但在那之后,我打印出了我不想要的每个值。

我的输出截至目前:

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

3 个答案:

答案 0 :(得分:1)

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

[1,2,3,4,5].findAll { it % 2 == 0 }.each { println it }

只打印偶数,例如

修改

坚持,你的意思是在groovy控制台中,它以反向类型显示脚本的返回值吗?

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

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

答案 1 :(得分:0)

从闭包返回跳过元素:

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

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

  println i
}   

不是返回只是跳过迭代步骤而不是从执行代码的函数返回。

答案 2 :(得分:0)

在脚本末尾使用return语句。

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