2014-12-09 14 views
6

Jestem całkiem pewien, że po to legalne w Javiedla pętli z wieloma zmiennymi deklaracji

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

Ale gdy próbuję uruchomić go w konsoli Groovy, otrzymuję ten błąd

nieoczekiwany token: =

Czy istnieje kilka zmiennych deklaracji nieobsługiwanych przez Groovy, czy jest inny powód, dla którego nie jest to dozwolone?

+0

Zdecydowanie prawny w Javie. –

+0

To musi być jakiś problem z Groovy. Ten sam segment kodu działa dobrze w Javie. Sam Groovy nie jest mi zbyt obeznany, ale znalazłem następujące informacje za pomocą szybkiego wyszukiwania w Google i może ci pomóc: http://www.intelligrape.com/blog/multiple-variable-assignment-in-groovy/ – cschieb

Odpowiedz

7

Jest to częste zagrożenie dla programistów Java. Zobacz ten link więcej szczegółów:

Częste problemy można użyć tylko jednej zmiennej count.

Fragmenty z linku:

pętli

Kolejna mała różnica jest taka, że ​​nie można zainicjować więcej niż jedną zmienną w pierwszej części dla pętli, więc jest nieważna :

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

i trzeba zainicjować zmienną count poza pętlą (rzadki przypadek, gdy jest więcej Groovy czasownik ose niż Java!):

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

lub można po prostu pominąć całej pętli i stosowanie czasów:

someCalculation().times { 
    ... 
} 
+0

... Może link będzie lepszy, dopóki cięcie i wklej nie zrobi tego, co chcesz. –

Powiązane problemy