2017-06-20 9 views

答えて

3

問題はあなたが合格しようとしているということであるにスカラスタイルの関数をjava-8スタイルの関数を期待するメソッドに変換します。そこには変換を行うことができるいくつかのライブラリがあります(複雑ではありません)。おそらく最も単純なのは、Javaコレクションをスカラスタイルの関数を期待するforeachメソッドを持つスカラコレクションに変換することです引数として:Scalaの2.12で

import scala.collection.JavaConverters._ 

Files.walk(path, FileVisitOption.FOLLOW_LINKS) 
     .sorted(Comparator.reverseOrder()) 
     .iterator().asScala 
     .foreach(Files.deleteIfExists) 
0

私は、これは動作するはず期待:

...forEach(Files.deleteIfExists(_: Path)) 

予想タイプがConsumer[_ >: Path]、ないConsumer[Path]あるので、それはスカラ座にあるであろうと、あなたが引数の型を指定する必要がある理由は、 。

それが動作しない場合は(現時点でテストすることはできません)、Scalaの2.12前

val deleteIfExists: Consumer[Path] = Files.deleteIfExists(_) 

...forEach(deleteIfExists) 

を試し、ジョーKの答えは正しいものです。