有一个类的构造函数参数列表很长:
case class ClassA(a: Int, b: String, c: Int /*and so on*/)
我需要对它进行模式匹配:
val cls = getClassA
cls match {
case ClassA(a, _, _, _, _, /* and so on */) => Some(a)
case ClassA(_, _, c, _, _, /* and so on */) => Some(c)
case _ => None
}
我需要捕获a
or的值c
。_
如果我真的不需要它们,是否可以不指定所有其他参数?
val cls = getClassA
cls match {
case ClassA(a, _*) => Some(a)
case ClassA(_, _, c, _*) => Some(c)
case _ => None
}
它给了我错误:wrong number of arguments for pattern ClassA(a, b, /*and so on*/)