У меня есть оператор сопоставления с классом дел с большим количеством полей. Могу ли я захватить одно из полей по имени и игнорировать остальные, не указывая другие в позиции с подчеркиванием? Это особенно трудно сделать, когда то, что я хочу, глубоко вложено.
Вот что у меня есть сейчас:
record match {
case MyRecordType(_, _, _, MyNestedType(_, _, namedFieldAsVar, _), _, _, _) =>
doStuffWith(namedFieldAsVar)
Я хотел бы сделать что-то вроде этого:
record match {
case MyRecordType { nested = MyNestedType { namedFieldAsVar } } =>
doStuffWith(namedFieldAsVar)
}
Другие языки поддерживают такой тип сопоставления с шаблоном, как показано ниже (Rust), предлагает ли Scala нечто подобное?
match record {
MyRecordType { named_field_as_var, .. } => do_stuff_with(named_field_as_var)
}