for-loop с несколькими объявлениями переменных

Я уверен, что следующее является законным в Java

for (int var1 = 2, var2 = 3; var1 < 10; ++var1) {
  System.out.println(var1);
}

но когда я пытаюсь запустить его в консоли Groovy, я получаю эту ошибку

неожиданный знак: =

несколько объявлений переменных не поддерживаются Groovy или есть другая причина, по которой это не разрешено?

1 ответов


это общий gotcha для разработчиков Java. Смотрите это ссылке более подробно:

общие gotchas вы можете использовать только одну переменную count.

выдержки из ссылки:

циклы

еще одна небольшая разница заключается в том, что вы не можете инициализировать более одной переменной в первой части цикла for, поэтому это недопустимо:

for (int count = someCalculation(), i = 0; i < count; i++) {
   ...
}

и вам нужно будет инициализировать переменная count вне цикла (редкий случай, когда Groovy более многословен, чем Java!):

int count = someCalculation()
for (int i = 0; i < count; i++) {
   ...
}

или вы можете просто пропустить весь цикл и использовать время:

someCalculation().times {
   ...
}