присвойте "его" в каждом (отличном) повторении

Используя решение Adrian, но вместо того, чтобы увеличить 1, инкремент 10 или даже 100. Тогда вставки могут быть вычислены в половине различия того, между чем Вы вставляете, не имея необходимость обновлять все ниже вставки. Выберите число, достаточно большое для обработки среднего количества вставок - если ее слишком маленькое тогда необходимо будет отступить к обновлению всех строк с более высоким положением во время вставки.

11
задан Christopher Klewes 22 September 2009 в 09:11
поделиться

5 ответов

list = list.collect { it.trim() }
23
ответ дан 3 December 2019 в 02:30
поделиться

You could also use the spread operator:

def list = [" foo", "bar ", " groovy "]
list = list*.trim()
assert "foo" == list[0]
assert "bar" == list[1]
assert "groovy" == list[2]
6
ответ дан 3 December 2019 в 02:30
поделиться

Согласно Groovy Quick Start , использование collect будет собирать значения, возвращенные из закрытия.

Вот небольшой пример использования Groovy Shell:

groovy:000> ["a    ", "  b"].collect { it.trim() }
===> [a, b]
2
ответ дан 3 December 2019 в 02:30
поделиться

@ sepp2k я думаю, что работает в ruby ​​

, и это работает в Groovy list = list.collect () {it.trim (); }

0
ответ дан 3 December 2019 в 02:30
поделиться

Если вам действительно нужно изменить список на месте, вы можете использовать list.eachWithIndex {item, idx -> list [idx] = item.trim ()}.

collect ( ) намного лучше.

1
ответ дан 3 December 2019 в 02:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: