私はこのスレッドを見ました:
いくつかの変更をカバーしているようですが、私が最初に遭遇したコンパイルの問題は言及されていないようです。助言がありますか?
- 型引数の種類(Iterable [Any] with(A with Int)=> Any)は、クラスGenericCompanionで期待される種類の型パラメーター(型CC)に準拠していません。Iterable [Any] with(A with Int)=> Anyの型パラメーターが型CCの期待されるパラメーターと一致しません:型パラメーターはありませんが、型CCには1つあります
- タイプ=>Iterator[java.io.File]のトレイトIterableLikeのメソッドイテレータが定義されていないため、オブジェクトの作成は不可能です。
- タイプ=>Iterator[V]のトレイトIterableLikeのメソッドイテレータが定義されていないため、オブジェクトの作成は不可能です。
- タイプ=>Iterator[java.io.File]のトレイトIterableLikeのメソッド要素をオーバーライドします。メソッド要素には「オーバーライド」修飾子が必要です
- タイプ=>Iterator[V]のトレイトIterableLikeのメソッド要素をオーバーライドします。メソッド要素には「オーバーライド」修飾子が必要です
問題のコードは次のとおりです。
/**
* Filesystem walker.
* <p>
* Less magic version of: http://rosettacode.org/wiki/Walk_Directory_Tree#Scala
*/
object FsWalker {
/**
* Recursive iterator over all files (and directories) in given directory.
*/
def walk(f: File): Iterable[File] = new Iterable[File] {
def elements = {
if (f.isDirectory()) {
// recurse on our child files
f.listFiles.elements.flatMap(child => FsWalker.walk(child).elements)
} else {
// just return given file wrapped in Iterator
Seq(f).elements
}
}
}
}