Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / groovy, замыкания / 3 сообщений из 3, страница 1 из 1
18.10.2012, 08:12:07
    #38003552
ukku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
groovy, замыкания
Добрый день. Возникла маленькая непонятка. Есть такой цикл:
Код: java
1.
2.
3.
4.
println "size = ${entries.size}"
entries.each { entry ->
	println 'AAA' 
// какие-то действия


Он возвращает это:
good Mr. Groovysize = 384
AAA

То есть size = 384, а делается только одна итерация(выводится AAA один раз).
Если код такой:
Код: java
1.
2.
3.
4.
entries.each { entry ->
	loadedRow.add(new StringBuffer());
	println entry.get(0)
	println 'AAA'


То AAA печатается столько, сколько надо раз. entries объявлен как:
Код: java
1.
List<ArrayList<String>> entries = new ArrayList<ArrayList<String>>()


Это какая-то оптимизация или что? Спасибо!
...
Рейтинг: 0 / 0
18.10.2012, 21:43:15
    #38004984
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
groovy, замыкания
ukku,

Больше похоже на обфускацию.

Код: java
1.
2.
3.
4.
...
def list = [......] as  String[]
entries.each{ println it }
...
...
Рейтинг: 0 / 0
19.10.2012, 08:22:34
    #38005220
ukku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
groovy, замыкания
ivanov-void, вроде нет такого.
Код: java
1.
2.
3.
entries.each { entry ->
  println "AAA";
  loadedRow.add(new StringBuffer())


Самое забавное "AAA" печатается 1 раз, loadedRow.add(new StringBuffer()) увеличивается как надо - на 384 элемента.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / groovy, замыкания / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]