scala - How to use a type constraint with abstract type -
निम्न कोड को देखते हुए:
विशेषता एस {प्रकार टी} मामला वर्ग ए (टी : Seq [String]) S {type T = Seq [String]} का विस्तार करता है मुझे इस संकलन की गलती नहीं है: ऐसा लगता है कि सबूत नहीं है। <पूर्व> def च [एस एंड एलटी:: ए, एक्स] (जी: = & gt; सीक [एक्स]) (अंतर्निहित ईव: एस # टी =: = सैक [एक्स]) = नया ए (जी) & lt; कंसोल>; 50: त्रुटि: प्रकार बेमेल; पाया: Seq [X] की आवश्यकता: Seq [स्ट्रिंग] डीईएफ़ च [एस & LT;: एक, X] (छ: = & gt; Seq [X]) (निहित EV: एस # टी =: = Seq [X]) नई = ए (जी)
यह कैसे मूर्ख लग सकता है, =: = ऑपेरेंड इस मुद्दे को हल करता है डीफ़ एफ [एस एंड एलटी;: ए, एक्स] (जी: = & gt; सीईसी [एक्स]) (असल ev: SEQ [X ] =: = एस # टी) = नया ए (जी) धन्यवाद, स्केलैक।
स्पष्टीकरण
जब आप कहते हैं अंतर्निहित उत्प्रवास एस # टी =: = सैक [एक्स] , संकलक S # T से Seq [X] से एक अंतर्निहित रूपांतरण प्रदान करता है। हालांकि यह सेक् [एक्स] से एस # टी के बराबर रूपांतरण प्रदान नहीं करता है, और यह मूर्खतापूर्ण हिस्सा है: समानता को कम्यूटेट करने वाला नहीं है? यहां विषय पर कुछ अतिरिक्त विवरण:
Comments
Post a Comment