【发布时间】:2013-09-17 11:36:54
【问题描述】:
我有一个来自库类的 案例,我想重写 unapply 方法以减少参数数量我需要传递以对其进行模式匹配.我这样做:
object ws1 {
// a library class
case class MyClass(a: Int, b: String, c: String, d: Double /* and many more ones*/)
// my object I created to override unapply of class MyClass
object MyClass {
def unapply(x: Int) = Some(x)
}
val a = new MyClass(1, "2", "3", 55.0 /* and many more ones*/)
a match {
case MyClass(x /*only the first one is vital*/) => x // java.io.Serializable = (1,2,3,55.0)
case _ => "no"
}
}
但我希望它只返回1。这有什么问题?
【问题讨论】:
标签: scala