2011-02-23 11 views
5

मैं स्कैला में एक सुंदर रोचक व्यवहार में ठोकर खाई।स्कैला: फ़ंक्शन/विधि एप्लिकेशन और टुपल्स

scala> Some(1,2,3,4,5)  
res31: Some[(Int, Int, Int, Int, Int)] = Some((1,2,3,4,5)) 

हालांकि यह चीनी अत्यंत उपयोगी है मैं इस विषय में किसी भी प्रलेखन नहीं मिला:

scala> def foo(t: (Int, Int, Int)): Int = t._1 
foo: (t: (Int, Int, Int))Int 

scala> foo(1,2,3) 
res23: Int = 1 

scala> foo((1,2,3)) 
res24: Int = 1 

यह भी इसका उल्टा काम करता है। तो मेरा सवाल मूल रूप से है: यह स्कैला भाषा विशिष्टता में कहां से प्रलेखित है, और इसका कोई अन्य प्रभाव क्या है यदि कोई है।

सादर, raichoo

+1

के प्रासंगिक हिस्सा है नहीं '(((1,2,3)))' सिर्फ कोष्ठक के चारों ओर एक टपल के आसपास कोष्ठक? – delnan

+0

सहमत हैं, पिछले 2 foos के बारे में भूल जाओ :) अद्यतन: उन्हें हटाएं – raichoo

+2

पिछले साल मई से इस प्रश्न 2850902 को संक्षिप्त नाम से प्रदान किए गए उत्तर पर एक नज़र डालें जो कुछ विवरण प्रदान करता है। अन्य परिणामों पर भी चर्चा की जाती है। –

उत्तर

2

यह एक स्वत: Tupling जाना जाता है। भाषा विनिर्देश के खिलाफ मैं lodged a bug, जो इस मामले पर चुप है।

यहाँ compiler source code.

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