假设我想做类似以下的事情,其中我操纵一个scala列表,然后执行匹配转换为选项。有没有一种方法可以在不添加括号的情况下继续下去(更复杂的例子,嵌套括号可能会让人困惑)?混合模式匹配到地图和过滤器链中
def foo: Option[Int] = {
MyUtils.myListOfFoo
.flatMap(_.barList)
.filter(_.isGood)
.toList match {
case List(bar) => Some(addr)
case _ => None
}
.map(_.getBaz) // would like to do something like this w/o adding parens
.map(_.numBlah)
}
我没有尝试复制这个(与真正的类型),但简单地删除'match'关键字应该这样做。 –
除非我误解了这个建议,否则它似乎不适用于我。 – jonderry
你可以把'match'想象成一种超低优先级的运算符,这意味着你在这里运气不好。 –