コンストラクターのパラメーターの非常に長いリストを持つクラスがあります。
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*/)