ghci
में, मैं भाग गया:`राइट 5` हास्केल और स्काला
ghci> :t Right 5
Right 5 :: Num b => Either a b
a
का अर्थ क्या है?
स्कैला के संस्करण से इसकी तुलना कैसे की जाती है?
scala> Right(5)
res0: scala.util.Right[Nothing,Int] = Right(5)
ghci
में, मैं भाग गया:`राइट 5` हास्केल और स्काला
ghci> :t Right 5
Right 5 :: Num b => Either a b
a
का अर्थ क्या है?
स्कैला के संस्करण से इसकी तुलना कैसे की जाती है?
scala> Right(5)
res0: scala.util.Right[Nothing,Int] = Right(5)
a
इस उदाहरण में b
, एक प्रकार चर की तरह, है। इसे किसी भी प्रकार से तत्काल किया जा सकता है (जबकि b
किसी भी प्रकार के साथ तत्काल किया जा सकता है जो बाधा को संतुष्ट करता है कि यह Num
का उदाहरण भी है)।
स्कैला के प्रकार की प्रणाली काफी अलग होने के कारण स्कैला उदाहरण काफी अलग तरीके से काम करता है; किसी भी पूर्णत: तत्काल तत्काल प्रकार वाले मूल्य की कोई वास्तविक अवधारणा नहीं है, इसलिए आपको पर Either
मान की संभावना असाइन करने की आवश्यकता है। आगे की बाधाओं को छोड़कर, यह Nothing
होने पर समाप्त होता है। जिस तरह से स्कैला की प्रकार प्रणाली काम करती है (Nothing
किसी अन्य प्रकार का उप प्रकार होने के कारण, आप इसे Any
प्रकार के लिए दोहरी के रूप में सोच सकते हैं) Either[Nothing,B]
किसी भी A
के लिए भी Either[A,B]
है।
बस यह ध्यान रखना चाहता था कि 'कोई भी' और 'कुछ भी नहीं' दोहरी हैं, वे सही विरोध हैं: 'सार्वभौमिक सुपर प्रकार' का कोई भी 'सार्वभौमिक उप प्रकार' नहीं है। स्वाभाविक रूप से, कोई मूल्य 'कुछ भी नहीं' प्रकार का हो सकता है: 'दाएं' के बाएं हिस्से का वर्णन करने के लिए सही! –