嘿,我尝试修剪在常规分配“它”在每个迭代(常规)
list.each() { it = it.trim(); }
的列表中的每个字符串项目,但在封内这只作品,在列表中的字符串仍然是“ foo“,”bar“和”groovy“。
我该如何做到这一点?
嘿,我尝试修剪在常规分配“它”在每个迭代(常规)
list.each() { it = it.trim(); }
的列表中的每个字符串项目,但在封内这只作品,在列表中的字符串仍然是“ foo“,”bar“和”groovy“。
我该如何做到这一点?
list = list.collect { it.trim() }
按照Groovy Quick Start,用collect
将收集从封闭返回的值。
下面是使用Groovy的外壳一个小例子:
groovy:000> ["a ", " b"].collect { it.trim() }
===> [a, b]
@ sepp2k我认为,在红宝石
)的作品,并在常规 列表这个作品= list.collect({it.trim( ); }
你也可以使用扩展操作:
def list = [" foo", "bar ", " groovy "]
list = list*.trim()
assert "foo" == list[0]
assert "bar" == list[1]
assert "groovy" == list[2]
如果你真的不得不修改到位名单,你可以使用list.eachWithIndex {项目,IDX - >列表[IDX] =项。 trim()}。
collect()更好。
list = list.collect {it.trim()} ty – codevour 2009-09-22 09:21:18
对,不能在没有参数的情况下抛弃parens。固定。 – sepp2k 2009-09-22 09:24:41
美妙而整洁的解决方案。不胜感激。我可以做这样的事情:items = ViewDefinition.findAllByIdInList(params.id.split(“ - ”)。collect {it as long}) – 2011-06-29 11:36:32