मुझे अपने केस कक्षाओं को डिजाइन करने में कुछ कठिनाइयां मिलीं। एक सरलीकृत संस्करण की तरह लग रहा:स्कैला केस क्लास पदानुक्रम
abstract class Base(s: Option[String]) {
//code
}
case class CaseClass(s: Option[String] = None) extends Base(s) {
//code
}
और मैं एक तरीका है जहाँ मैं की तरह कुछ करने के लिए करना चाहते हैं:
def method(base : Base) = {
//code
base copy (s = Some("string"))
}
बेशक
मैं:
value copy is not a member of Base
तो मैं क्या चाहते करने के लिए मेरी बेस क्लास (जो केस क्लास नहीं है) के आधार पर एक नया उदाहरण बनाते हैं। जाहिर है कि कोई ऐसा नहीं कर सकता है। लेकिन आप इसे एक सुरुचिपूर्ण तरीके से कैसे हल करेंगे?
अग्रिम धन्यवाद!
संबंधित प्रश्न: http://stackoverflow.com/questions/2911562/case-class-copy-method-abstraction –
http://scala-programming-language.1934581.n4.nabble.com/Question-on- केस-क्लास-एंड-कॉपी-विधि-td1936310.html –