मैं एक प्रकार पैरामीटर के बजाय एक अमूर्त प्रकार का उपयोग करना चाहता हूं।स्कैला क्लास कन्स्ट्रक्टर और अमूर्त प्रकार
मेरी सामान्य वर्गों निर्माता में, मैं सामान्य प्रकार का एक पैरामीटर चाहते हैं, लेकिन कोड संकलन नहीं करता है:
class SomeOtherClass(val s: S){
type S
}
स्केला संकलक त्रुटि है "नहीं मिला: प्रकार एस"
अगर मैं एक सार लिखने के बजाय एक प्रकार पैरामीटर का उपयोग, तो यह काम करता है:
class SomeClass[T](val t: T){
//...
}
करता स्केला बल मुझे, एक अमूर्त प्रकार के बजाय एक प्रकार पैरामीटर का उपयोग करने के अगर मैं एक करना चाहते हैं कन्स्ट्रक्टर में जेनेरिक पैरामीटर?
क्या ऐसा करने का कोई और तरीका है?
मजेदार पर्याप्त यह आपको उदाहरण 'नए SomeClass (5.asInstanceOf [SomeClass # S]) {प्रकार एस = Int}' बनाने की अनुमति देगा। ध्यान दें कि कोई सुरक्षा नहीं है, एस अभी भी कलाकारों में अनिर्धारित है। – Kaito
तो मूल रूप से इसे सही करने के लिए, मुझे अन्य दो उत्तरों को देखने की ज़रूरत है? –
@AntKutschera हां। – Nicolas