过滤元组列表 - 更好的可读性

时间:2017-09-17 02:51:40

标签: scala filter functional-programming scala-collections readability

过滤元组列表有什么好方法(读更好的可读性)。我正在使用

tupleList.filter(_._2).map(_._1)

但这并不可读。

2 个答案:

答案 0 :(得分:2)

不确定有多好,但你可以使用collect:

tupleList.collect { case (true, x) => x }

当然给x一些有意义的名字。如果第一个元素不是布尔值,您甚至可以执行以下操作:

tupleList.collect { case (x, y) if (cond) => y}

并给出x和y有意义的名称

答案 1 :(得分:0)

使用具有部分功能的等效功能也可以提供帮助:

tupleList.filter { case (_, snd) => snd }
         .map { case (fst, _) => fst }

当Dotty以元组解包方式到达时,这应该会显着改善。