我正在努力提高代码的可读性,而且我很难用这个小块。
Foo是一种接受List [Ping]
的方法Thing.generate返回List [Ping]
ListOfPings是一个List [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
我很难让这个看起来更漂亮,可能还有平面图?我真诚地感谢你的帮助。
答案 0 :(得分:3)
类似的东西:
foo {
for (p <- listOfPings ; q <- p.generate if q.hasQuality) yield q
}