سؤال

حسنا، أنا آخذ Javafx بالطبع العاطفة ولديك مشكلة لا أستطيع أن أخرجها.

يشبه هذا السؤال -

لماذا لا يعمل رمز "الربط" هذا كما هو متوقع في 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. أمضيت بعض الوقت يخطو في البرنامج ولا يمكن أن يبدو أنه لا يبدو معرفة كيف / لماذا تفعل هذا.

يمكنني الحصول عليها لتشغيل عظيم دون أي ملزمة لذا لست متأكدا مما إذا كان هذا ما يسبب مشكلتي.

أي أفكار / أفكار؟

~ ألين

هل كانت مفيدة؟

المحلول

CurrentNumber هو أحد عناصر الأرقام، وليس الفهرس

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