Вопрос

Хорошо, я прохожу курс JavaFX with Passion, и у меня возникла проблема, которую я, похоже, не могу решить.

Это похоже на этот вопрос -

Почему этот "привязывающий" код не работает так, как ожидалось в 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}");
}

и мой вывод -

----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

Проблема, с которой я сталкиваюсь, заключается в том, что она "выглядит" правильной, за исключением того, что она не отображает 1 как нечетное число, а затем добавляет 0 после 10.Я потратил некоторое время на ознакомление с программой и, похоже, не могу понять, как / почему она это делает.

Я могу заставить его работать отлично без какой-либо привязки, поэтому не уверен, что именно это является причиной моей проблемы.

Есть какие-нибудь идеи / размышления?

~Allen

Это было полезно?

Решение

currentNumber - это один из элементов numbers, а не индекс

var evenOrOdd = bind if (currentNumber mod 2 == 0)
    "----{currentNumber} is an even number"
    else "----{currentNumber} is an odd number";
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top