क्या कोई मुझे बता सकता है कि वास्तव में क्या चल रहा है? मैं पूरी तरह से इसे में अभी नहीं मिल रहा है:नामांकित तर्कों में अंडरस्कोर
val s = Seq(1D,2D,3D,4D)
case class WithUnit(value: Double, unit: String)
s map { WithUnit(_,"cm") } // works
s map { WithUnit(value = _ , unit = "cm") } // error: missing parameter type for expanded function ((x$2) => value = x$2)
मुझे लगता है कि संकलक नहीं कर सकते पैरामीटर प्रकार का अनुमान लगा क्योंकि मैं तर्क के नाम लिखा था। पर क्यों नहीं? तर्क के नाम को बताने के कारण यह और अधिक कठिन नहीं होना चाहिए ?!
धन्यवाद!
आह, मैं देखता हूं! अब मुझे गहरी समझ है .... _tightest non-degenerate scope_ ... मुझे याद होगा! धन्यवाद! –
तर्कसंगत रूप से, हालांकि, यह एक बग है। 'WithUnit (_," cm ")' काम किया क्योंकि इसे आंशिक रूप से लागू फ़ंक्शन के रूप में माना जाता था, न कि अज्ञात फ़ंक्शन शाब्दिक। नामित पैरामीटर के साथ उपयोग किए जाने पर इसका इलाज नहीं किया जाता है, जो मुझे संदेह है कि सिर्फ एक निरीक्षण था। –
@ डैनियल: मुझे नहीं लगता कि आप "आंशिक रूप से लागू फ़ंक्शन" और "अज्ञात फ़ंक्शन शाब्दिक" के बीच जो भेद कर रहे हैं वह मौजूद है। –