0

次のコードを試していました。

(for (f <- (new File(".")).listFiles() if !f.isDirectory) yield f) match {
  case x:File => println(x.getAbsoluteFile)
  case _ => println(_)
}

次のエラーが発生しているため、明らかに私はどういうわけか間違っています

scrutinee is incompatible with pattern type;
 found   : java.io.File
 required: Array[java.io.File]
    case x:File => println(x.getAbsoluteFile)
           ^

私がやろうとしていたことは明らかです。forループから得られた各値を取得し、それをマッチケースの「フィルター」に渡そうとしました。取得しているエラーの理由と、それを修正できるかどうか (または別の方法で書き直すかどうか) を知ることよりも、より優れたファイル ツリー フィルターを作成することには興味がありません。

乾杯!

4

1 に答える 1