smth のコレクションに対する「高度な反復」のためのスカラでの最適なスタイルは何ですか? その場合、for-comprehension を使用する必要があり、(スタイルの観点から) 反復の代替方法を探す必要がある場合。本Programming in Scala
には、次のように見える例があります。
for{
file <- filesHere
if file.getName.endsWith("txt")
line <- Source.fromFile(file).getLines.toList
if line.trim.matches(pattern)
} println("|" + file + ": " + line.trim)
内部反復を使用して書き直そうとしましたが、次のようになりました。
filesHere foreach { file =>
if (file.getName.endsWith("txt")) {
Source.fromFile(file).getLines.toList foreach {line =>
if (line.trim.matches(pattern)) println("|" + file + ": " + line.trim)
}
}
}
ただし、Web(stackoverflowを含む)では、for-comprehensionの使用を説得する多くの記事/投稿を見つけましたが、それを使用するのは便利ではありません。私見、内部反復は非常に読みやすく便利です。
このトピックに関する最良のガイドラインは何ですか?