मैं जावाएफएक्स में नया हूं। मैं समझ नहीं पा रहा हूं कि नीचे दिया गया कोड क्यों काम नहीं करता है।जावाफ़ैक्स में अपेक्षित "बाध्यकारी" कोड क्यों काम नहीं करता है?
import javafx.util.Sequences;
def nums = [1..10];
var curr = 0;
var evenOrOdd = bind if (nums[curr] mod 2 == 0) "{nums[curr]} is an even number" else "{nums[curr]} is an odd number";
for (curr in [0..(sizeof nums -1)])
{
println("{evenOrOdd}");
}
मैं
1 is an odd number
1 is an odd number
1 is an odd number
1 is an odd number
1 is an odd number
1 is an odd number
1 is an odd number
1 is an odd number
1 is an odd number
1 is an odd number
हो रही है अगर मैं करने के लिए
import javafx.util.Sequences;
def nums = [1..10];
var curr = 0;
var evenOrOdd = bind if (nums[curr] mod 2 == 0) "{nums[curr]} is an even number" else "{nums[curr]} is an odd number";
for (i in [0..(sizeof nums -1)])
{
curr = i;
println("{evenOrOdd}");
}
मैं सही आउटपुट प्राप्त कोड बदलने के लिए:
1 is an odd number
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
जाहिर है, में काउंटर वेतन वृद्धि लूप को मूल्य परिवर्तन के रूप में नहीं माना जाता है और बी आउंड अभिव्यक्ति का मूल्यांकन नहीं किया जाता है।
क्या कोई इस व्यवहार के पीछे अवधारणा को समझा सकता है?
धन्यवाद टिम। बहुत अच्छी व्याख्या। – Rahul