मुझे स्कैला के प्रकार सीमा प्रणाली को समझने में कुछ परेशानी हो रही है।स्कैला प्रकार पैरामीटर सीमा
class HasIterable[T <: Iterable[A], A](item:T){
def printAll = for(i<-item) println(i.toString)
}
val hello = new HasIterable("hello")
वर्ग ही सफलतापूर्वक संकलित लेकिन बनाने के प्रयास: मुझे क्या करना कोशिश कर रहा हूँ एक धारक वर्ग कि प्रकार टी के आइटम है कि प्रकार ए के आइटम से अधिक पुनरावृति कर सकते हैं क्या मैं अब तक किया है रखती है बनाना है
<console>:11: error: inferred type arguments [java.lang.String,Nothing] do
not conform to class HasIterable's type parameter bounds [T <: Iterable[A],A]
val hello = new HasIterable("hello")
^
मुझे लगता है कि मामले में एक HasIterable[String, Char]
के रूप में हल करने hello
अपेक्षा की होगी: hello
मूल्य मुझे इस त्रुटि देता है। यह समस्या कैसे हल हो जाती है?
होगा आप समझते हैं कि यह क्यों काम करता है (और दूसरा नहीं)? – dhg
यह मेरे लिए काम किया, धन्यवाद! और हाँ, इस मामले में <% क्यों काम करता है? --हाहा मैं आपका संपादन देखता हूं। धन्यवाद :) – Dylan
@ पेलोटॉम: महान स्पष्टीकरण। धन्यवाद! – dhg