Programming in Scala book を使用して Scala を学習しようとすると、ファイルから行を読み取るための非常に基本的な例があります。私はそれを拡張してファイルを1行ずつ読み取り、特定のフレーズを探し、その行が見つかった場合はその行に続く次の6行を出力しようとしています。Java や Perl などで簡単にスクリプトを作成できますが、Scala でそれを行う方法がわかりません (おそらく、言語にまだ慣れていないためです...)
以下は、Programming in Scala book の一部を改変したサンプル コードです。
import scala.io.Source
if(args.length>0) {
val lines = Source.fromFile(args(0)).getLines().toList
for(line<-lines) {
if(line.contains("secretPhrase")) {
println(line)
//How to get the next lines here?
}
}
}
else
Console.err.println("Pleaseenterfilename")