Scala for comprehensions and partial map -
स्काला भाषा विनिर्देश अनुभाग 6.19 कहते हैं:
ए समझने के लिए
के लिए (पी एंड एलटी; - ई) उपज e0
कोe.map {case p = & gt; E0}
अतः ...
scala & gt; सूची [या तो [स्ट्रिंग, इन्ट]] = सूची (वाम (बुरा), सही (1) (यानी [स्ट्रिंग, इन्ट]] = सूची (बाएं ("बुरा"), दायां (1) ) स्कला & gt; (वाम (एक्स) & lt; -l) उप-एक्स 5: सूची [स्ट्रिंग] = सूची (खराब)
अब तक इतनी अच्छी है:
स्केला & gt; L.map {केस वाम (एक्स) = & gt; X} & lt; कंसोल & gt;: 13: चेतावनी: मैच संपूर्ण नहीं है! लापता संयोजन सही एल.मैप {मामला वाम (एक्स) = & gt; X} ^ scala.MatchError: सही (1) $ anonfun $ 1.apply (& lt; कंसोल & gt;: 13) पर ...
दूसरा संस्करण काम क्यों नहीं करता है? या फिर, पहला संस्करण क्यों काम करता है?
यदि आप पैटर्न का उपयोग करते हैं अपने के लिए
में मिलान करना - संकलक वास्तव में नक्शा
लागू करने से पहले एक exampleOf
-check के साथ फ़िल्टर
पर कॉल डालेंगे कोड>।
संपादित करें:
इसके अलावा अनुभाग 6.19 में यह कहते हैं:
< पी> जब आप बाइटकोक्स का निरीक्षण करते हैं तो आपएक जनरेटर पी & lt; - e एक गार्ड द्वारा पीछा अगर जी एक जनरेटर पी & lt; - e.withFilter ((x1, ..., xn) => जी) में अनुवादित किया गया है जहां x1, ..., xn पी के नि: शुल्क चर हैं। जेनरेटर>
फ़िल्टर
को मैप
से पहले कॉल देखेंगे।
Comments
Post a Comment