मान लीजिए मैं:मैं क्यों स्काला में एफ घिरा वस्तु नहीं बना सकते
trait A[AA <: A[AA]]
//or even just `
trait A[AA]
यह काम नहीं करता:
scala> object AAA extends A[AAA.type]
<console>:8: error: illegal cyclic reference involving object AAA
object AAA extends A[AAA.type]
^
लेकिन यह काम करता है:
scala> class AAA extends A[AAA]; object AAA extends AAA
defined class AAA
defined module AAA
लगभग (वास्तव में नहीं) वही करना और यह काम करता है। कोई कारण?
पीएस और, कंप्रेसर के अंदर infinte चक्र को मजबूर करने के लिए इस तरह के ऑब्जेक्ट के अंदर वास्तव में can I do क्या है?
http://blog.originate.com/blog/2014/02/27/types-inside-types-in-scala/, मुझे लगता है कि इससे मदद मिलेगी। लेकिन आप किस समस्या को हल करने की कोशिश कर रहे हैं? – Governa
शायद संबंधित: https://issues.scala-lang.org/browse/SI-5082 – Governa
वही प्रश्न यहां: http://stackoverflow.com/questions/17915353/refer-to-object-type-in-object- परिभाषा, लेकिन कोई अच्छा जवाब नहीं –