【发布时间】:2017-02-02 14:09:16
【问题描述】:
我正在尝试提高我的代码的可读性,但我很难处理这个小块。
Foo 是一个接受 List[Ping] 的方法
Thing.generate 返回一个列表[Ping]
ListOfPings 是一个列表[Ping]
hasQuality 通过评估 Ping 返回一个布尔值
代码如下:
foo((for {
pinger <- listOfPings
} yield pinger.generate.filter(_.hasQuality)).flatten)
listOfPingss 中的每个 Ping 都使用 generate 方法创建一个 List[Thing],这意味着循环结束时 yield 的结果是一个 List[List[Ping]]。
我正在展平 List[List[Ping]](不是单个列表),并将整个结果放入 foo
我无法使这个看起来更好,可能是使用平面地图?衷心感谢您的帮助。
【问题讨论】: