मैं एक निम्न कार्य हो:
def removeLast(list: List[Int]): List[Int] = list match {
case List() => List()
case List(x) => List()
case x :: xs => x :: removeLast(xs)
}
जब मैंने इसे और उपयोग को परिभाषित यह एसबीटी कंसोल से सबकुछ ठीक काम करता है। लेकिन जब मैं IntelliJ विचार में किसी कार्यपत्रक बना सकते हैं और इसे चलाने के लिए कोशिश तो निम्न अपवाद प्रकट होता है:
java.lang.NoSuchMethodError: scala.collection.immutable.$colon$colon.hd$1()Ljava/lang/Object; at week5.A$A26$A$A26.removeLast(lists.sc8362409100671270508.tmp:30) at #worksheet#.#worksheet#(lists.sc8362409100671270508.tmp:33)
इसके अलावा, जब मैं करने के लिए अंतिम पंक्ति को बदलने:
case x :: xs => 1 :: removeLast(xs)}
तो यह काम करता है।
समस्या क्या हो सकती है?
आप 'करने के लिए हस्ताक्षर को बदल सकते हैं def removeLast [टी] (सूची: सूची [टी]): सूची [टी] ' –
उत्तर के लिए धन्यवाद, दुर्भाग्य से मैंने पहले से ही कोशिश की है और नतीजा ऊपर वर्णित है। –
आइडिया अपने स्कैला कंपाइलर का उपयोग करें। तो आपको https://youtrack.jetbrains.com/issues/SCL पर टिकट बनाना चाहिए। यदि आपके पास प्लगइन का नवीनतम संस्करण 135.1228 –