scala - How to declare a manifest on a closure -
क्या
के बजाय
को बंद करने पर मैनिफेस्ट घोषित करना संभव है> def extract [A] (v: JValue) (निहित एम: मैनिफेस्ट [ए]): ए = वी.एक्सटेक [ए]
कुछ ऐसा है? < पूर्व>
def extract [A] = (v: JValue) = & gt; V.extract [ए]
यह मेनिफेस्ट को विधि पर घोषित करता है जो फ़ंक्शन देता है विशिष्ट प्रकार के लिए आपको एक फ़ंक्शन लौटाना:
def extract [A] (निहित एम: मैनिफेस्ट [ए]) = (v: JValue) = & gt; V.extract [ए] इसके अलावा दो कारणों से यह असंभव है:
-
तरीकों के विपरीत स्काले कार्य पैरामीट्रिक बहुरूपता का समर्थन नहीं करते हैं - ऐसा कुछ नहीं है
[ए] (वी: जेवील्यू) = & gt; (एम: मैनिफेस्ट [ए]) = & gt; V.extract [ए]
विधियों के विपरीत स्काला फ़ंक्शन अंतर्निहित पैरामीटर का समर्थन नहीं करते हैं। जबकि यह वाक्यविन्यास स्वीकार कर लिया गया है:
{निहित मैनिफेस्ट: मैनिफेस्ट [स्ट्रिंग] = & gt; V.extract [स्ट्रिंग]}
यहां पर निहित अर्थ का एक अलग अर्थ है: यह मूल्य मैनिफेस्ट फ़ंक्शन के शरीर के भीतर अंतर्निहित संकल्प के लिए उपलब्ध करता है लेकिन फ़ंक्शन को बुलाते समय कोई प्रभाव नहीं होता है (आपको स्पष्ट रूप से मैनिफ़ेस्ट देना होगा)
Comments
Post a Comment