はスカラ座と、次のと混同について学ぶ:Scala xs.foreach(yield _)?
この仮定:これは動作しますval filesHere = (new java.io.File(".")).listFiles
を:for (fn <- filesHere) yield fn
これは動作します:filesHere.foreach(println _)
をこれは動作しません:filesHere.foreach(yield _)
エラーメッセージ:<console>:1: error: illegal start of simple expression
最後の作業と、それを動作させる方法は、なぜforeach
を使用していませんか?
ファイルで何をしようとしていますか?あなたが各ファイルに対して同じアクションを実行しようとしているなら、単純な 'map'が良い選択でしょう。 'for(...)yield {...}'構文は一連の 'flatMap'操作の後に最後の' map'( 'yield')が続きます。 詳細は、ドキュメントの[link](http://docs.scala-lang.org/tutorials/FAQ/yield.html)を参照してください。 – Eric