2009-09-22 20 views

Odpowiedz

23
list = list.collect { it.trim() } 
+0

list = list.collect {it.trim()} ty – codevour

+0

Dobrze, nie można opuścić parens metodami bez parametrów. Naprawiony. – sepp2k

+2

Fantastyczne i uporządkowane rozwiązanie. Mile widziane. Mogę zrobić coś takiego: items = ViewDefinition.findAllByIdInList (params.id.split ("-"). Collect {it as long}) –

2

Według Groovy Quick Start korzystając collect zbierze wartości zwracanych z zamknięcia.

Oto mały przykład za pomocą Groovy Shell:

groovy:000> ["a ", " b"].collect { it.trim() } 
===> [a, b] 
0

@ sepp2k myślę, że prace w Ruby

i to działa w Groovy listy = list.collect() {(it.trim); }

6

Można również użyć operatora spread:

def list = [" foo", "bar ", " groovy "] 
list = list*.trim() 
assert "foo" == list[0] 
assert "bar" == list[1] 
assert "groovy" == list[2] 
1

Jeśli naprawdę musiał zmodyfikować listę w miejscu, można użyć list.eachWithIndex {element, IDX -> lista [idx] = poz. przycinanie()}.

zbieranie() jest o wiele lepsze.

Powiązane problemy