object Foo : CharSequence by Foo.X {
val X = ""
}
त्रुटि "चर प्रारंभ किया जाना चाहिए"
Variable 'X' must be initialized
पैदा करता है लेकिन यह है! और कोड को
object Foo : CharSequence {
val X = ""
override val length get() = Foo.X.length
override operator fun get(index: Int): Char = Foo.X[index]
override fun subSequence(startIndex: Int, endIndex: Int) = Foo.X.subSequence(startIndex, endIndex)
}
जैसे कुछ अच्छी तरह से काम करना चाहिए।
त्रुटि का कारण क्या है और क्या कोई कामकाज है? वास्तविक कोड प्रारंभ में गैर-तुच्छ है और Foo
को object
(वास्तव में, एक साथी ऑब्जेक्ट) होना चाहिए, class
नहीं।
अंतिम वाक्य के बारे में: संबंधित जावा कन्स्ट्रक्टर ने संस्करण 7u6 के बाद इसका मुख्य उपयोग खो दिया है (यदि मुझे सही याद है, लेकिन यह उस सीमा में कुछ होना चाहिए) और पिछली संगतता के लिए अभी भी मौजूद है। कोटलिन को इसकी प्रतिलिपि बनाने की आवश्यकता नहीं है। –
हां मुझे एहसास हुआ कि ऊपर दिए गए कोड में उस कन्स्ट्रक्टर का उपयोग करने की कोई आवश्यकता नहीं है .. यह समकक्ष है: 'साथी ऑब्जेक्ट फू: "xyzzy" द्वारा charSequence " –