चेन पैटर्न मिलान संरचनाओं के लिए क्यों संभव नहीं है? उदाहरण के लिए, निम्नलिखित, कानूनी, अगर अतर्कसंगत हैपैटर्न मिलान "वापसी" मूल्य
val a = ADT(5)
val b = a match {
case ADT(a) if a > 4 => ADT(a * 3)
case ADT(a) => ADT(a + 1)
}
b match {
case ADT(a) if a > 13 => doSomething(a)
case _ => {}
}
लेकिन निम्नलिखित नहीं है:
a match {
case ADT(a) if a > 4 => ADT(a * 3)
case ADT(a) => ADT(a + 1)
} match {
case ADT(a) if a > 13 => doSomething(a)
case _ => {}
}
मुझे लगता है यह है क्योंकि मैं यह पहली जगह में नहीं करना चाहिए, लेकिन सिद्धांत रूप में मुझे नहीं लगता कि यह कानूनी क्यों नहीं है।
'(एक मैच {..}) मैच {} ..' काम करेंगे। – user2246674