Scala 模式匹配
Scala patternmatching
我在 Scala 中有以下模式匹配代码:
response.flatMap(employee =>
employee match {
case e if e.type == Manager => e.headoffice
case e if e.type == Clerk => e.branch
case _ => None
}
)
这是进行模式匹配的最佳方式吗?能再简洁点吗?
我个人会这样做:
response.map(e => e -> e.`type`).flatMap {
case (e, Manager) => e.headoffice
case (e, Clerk) => e.branch
case _ => None
}
您可以尝试匹配 type
:
response.flatMap(e => e.type match {
case Manager => e.headoffice
case Clerk => e.branch
case _ => None
})
我在 Scala 中有以下模式匹配代码:
response.flatMap(employee =>
employee match {
case e if e.type == Manager => e.headoffice
case e if e.type == Clerk => e.branch
case _ => None
}
)
这是进行模式匹配的最佳方式吗?能再简洁点吗?
我个人会这样做:
response.map(e => e -> e.`type`).flatMap {
case (e, Manager) => e.headoffice
case (e, Clerk) => e.branch
case _ => None
}
您可以尝试匹配 type
:
response.flatMap(e => e.type match {
case Manager => e.headoffice
case Clerk => e.branch
case _ => None
})