2009-04-11 12 views
0

Ok, ich nehme den JavaFX mit Passion Kurs und habe ein Problem, das ich nicht zu verstehen scheinen.JavaFX Bind/Loop Frage

Es ist ähnlich wie diese Frage -

Why doesn't this "binding" code work as expected in JavaFX?

def numbers = [1..10]; 
var currentNumber = 0;  

for (currentNumber in numbers){ 
var evenOrOdd = bind if (numbers[currentNumber] mod 2 == 0) 
    "----{numbers[currentNumber]} is an even number" 
    else "----{numbers[currentNumber]} is an odd number"; 
println("{evenOrOdd}"); 
} 

und meine Ausgabe -

----2 is an even number 
----3 is an odd number 
----4 is an even number 
----5 is an odd number 
----6 is an even number 
----7 is an odd number 
----8 is an even number 
----9 is an odd number 
----10 is an even number 
----0 is an even number 

Das Problem, das ich habe ist, dass es richtig außer es laufen 'sieht' zeigt 1 nicht als eine ungerade Zahl an und fügt dann nach der 10 eine 0 hinzu. Ich habe einige Zeit damit verbracht, durch das Programm zu gehen und kann nicht herausfinden, wie/warum es das tut.

Ich kann es ohne Binding großartig laufen lassen, also nicht sicher, ob das mein Problem verursacht.

Irgendwelche Ideen/Gedanken?

~ All

Antwort

3

currentNumber ist eines der Elemente der Zahlen, nicht der Index

var evenOrOdd = bind if (currentNumber mod 2 == 0) 
    "----{currentNumber} is an even number" 
    else "----{currentNumber} is an odd number"; 
+0

Ja, heute Morgen, dass herausgefunden. Mann, das passiert, wenn du versuchst zu programmieren, während du müde bist. : D Danke für die Hilfe! – Valien