KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Consider the following Scala case class: case class WideLoad(a: String, b: Int, c: Float, d: ActorRef, e: Date) Pattern matching allows me to extract one field and discard others, like so: someVal match { case WideLoad(_, _, _, d, _) => d ! SomeMessage(...) } What I would like to do, and what's more relevant when a case class has ~20 odd fields, is to extract only a few values in a way that does not involve typing out WideLoad(_, _, _, _, _, some, _, _, _, thing, _, _, interesting) . I was hoping that named args could help here, although the following syntax doesn't work: someVal match { case WideLoad(d = dActor) => dActor ! SomeMessage(...) // ^---------- does not compile } Is there any hope here, or am I stuck typing out many, many _, _, _, _ ? EDIT : I understand that I can do case wl @ WideLoad(...whatever...) => wl.d , yet I'm still wondering whether there's even terser syntax that does what I need without having to introduce an extra val .
Tags (comma-separated)
Save Edits
Cancel