तो मैं twitter Scala school के माध्यम से स्कैला सीखने की कोशिश कर रहा हूं। लेकिन मैं वर्तमान में उनके type bound examples में से एक पर अटक गया हूं।स्कैला प्रकार बाध्य त्रुटि प्राप्त करना: नहीं मिला: प्रकार <% <
विशेष रूप से, यह वह जगह है जहां <%<
टाइप-रिलेशन ऑपरेटर का उपयोग करके टाइप को एक निश्चित प्रकार के रूप में देखा जा सकता है।
जब मैं अपने स्काला कंसोल में निम्न कोड निष्पादित करें:
scala> class Container[A](value: A) { def addIt(implicit evidence: A <%< Int) = 123 + value }
... मैं निम्नलिखित त्रुटियाँ मिलती है:
<console>:7: error: not found: type <%<
class Container[A](value: A) { def addIt(implicit evidence: A <%< Int) = 123 + value }
^
<console>:7: error: overloaded method value + with alternatives:
(x: Double)Double <and>
(x: Float)Float <and>
(x: Long)Long <and>
(x: Int)Int <and>
(x: Char)Int <and>
(x: Short)Int <and>
(x: Byte)Int <and>
(x: String)String
cannot be applied to (A)
class Container[A](value: A) { def addIt(implicit evidence: A <%< Int) = 123 + value }
मेरा प्रश्न है, क्यों स्काला दुभाषिया शिकायत कर रहा है है?
मैं स्कैला दस्तावेज को देखने की कोशिश कर रहा हूं लेकिन मैं कहीं भी ऑपरेटर को जानकारी नहीं ढूंढ पा रहा हूं। मैं देख सकता हूं कि स्कैला स्कूल स्कैला 2.8.0 के आधार पर बनाया गया था, और मैं स्कैला 2.10.0 चला रहा हूं - तो शायद इसे हटा दिया गया है? यदि ऐसा है, तो यह एक उपयोगी ऑपरेटर की तरह क्यों लगता है?
ऐसा लगता है कि यह स्कैला 2.10 में नहीं है, हालांकि मुझे यकीन नहीं है कि क्यों - https://github.com/scala/scala/blob/v2.10.0/src/library/scala/Predef.scala # एल 1 – Impredicative
को https://github.com/scala/scala/commit/e1780e9686914d835b295e125511368eeb1d0733#L0L350 – Debilski
में बहिष्कृत किया गया था ठीक है! ऐसा लगता है कि मैंने नीचे अनुमान लगाया है। – Impredicative