इस निर्माण से स्कैला में टाइप मिस्चैच त्रुटि क्यों होती है?समझ के लिए स्कैला पर मिस्चैच टाइप करें
for (first <- Some(1); second <- List(1,2,3)) yield (first,second)
<console>:6: error: type mismatch;
found : List[(Int, Int)]
required: Option[?]
for (first <- Some(1); second <- List(1,2,3)) yield (first,second)
अगर मैं सूची के साथ कुछ स्विच यह ठीक संकलित:
for (first <- List(1,2,3); second <- Some(1)) yield (first,second)
res41: List[(Int, Int)] = List((1,1), (2,1), (3,1))
यह भी ठीक काम करता है:
for (first <- Some(1); second <- Some(2)) yield (first,second)
स्केल को असफल उदाहरण में वापस आने की क्या उम्मीद थी? –
जब मैं इसे लिख रहा था तो मैंने सोचा कि मुझे एक विकल्प मिलेगा [सूची [(Int, Int)]]। –