2015-10-10 2 views

उत्तर

7

यदि आप मानों के सेट के रूप में किसी प्रकार के बारे में सोचते हैं, तो सिंगलटन प्रकार का मान x वह प्रकार है जिसमें केवल यह मान होता है ({x})। उपयोग के उदाहरण:

  1. पैटर्न मिलान: case _: Foo.type जांच करता है कि मेल नहीं खाते वस्तु एक ही Foo रूप eq, जहां case Foo केवल जाँच करता है कि यह equals का उपयोग कर Foo के बराबर है का उपयोग कर रहा है।

  2. यह नीचे एक object के प्रकार

  3. परिवर्तनशील वस्तुओं के लिए एक विधि के रिटर्न मान की गारंटी करने के लिए (एक प्रकार पैरामीटर, एक तर्क, आदि) लिखने के लिए आवश्यक है विधि के लिए वस्तु (उपयोगी है श्रृंखलन, उदाहरण के from here):

    class A { def method1: this.type = { ...; this } } 
    class B extends A { def method2: this.type = { ...; this } } 
    

    अब आप new B.method1.method2 कॉल कर सकते हैं, जो आपको बिना this.type क्योंकि method1A नहीं वापस होगा सकता है।

+0

शायद आप इस तरह की उपयोगीता के लिए कुछ उदाहरण देने के लिए बहुत दयालु होंगे? –

+0

@ ashy_32bit मैंने कुछ उदाहरण जोड़े हैं। –

+0

"जांच करता है कि मिलान की गई वस्तु 'foo'' जैसा ही है - क्या आपका मतलब" फू' जैसा ही है "? – VasyaNovikov

संबंधित मुद्दे