如果我正在针对(相对)复杂的案例类进行大量模式匹配,但大多数时候我只对其中的一个或两个字段感兴趣 . 有没有办法抽象掉其他字段(也许是通过包装类?)?这是我正在尝试简化的事物类型的示例:
def receive = {
case HttpRequest(POST, "foo", _, HttpBody(_, body), _) => // action
case HttpRequest(GET, "bar", _, _, _) => // action
}
我只是对请求类型,url和有时身体感兴趣,所以我最好将模式匹配定义为 case Request(POST, "foo", body)
或类似 .
1 回答
只需制作自己的
Request
提取器 . 这是一个简化的例子: