J'ai vu ce fil:nouveau Iterable {portage} Code de Scala 2.7.7 à 2.8
What are the biggest differences between Scala 2.8 and Scala 2.7?
Il semble couvrir quelques changements, mais la première compilation des problèmes que j'ai frappé ne semblent pas être mentionné. Aucune suggestion?
- types des arguments de type (itératifs [Tout] avec (A avec Int) => Any) ne sont pas conformes aux types des paramètres de type attendu (type CC) en classe GenericCompanion. Iterable [Tout] avec (A avec Int) => Les paramètres de type de Tout ne correspondent pas aux paramètres attendus Type CC: n'a pas de paramètres de type, mais le type CC a un
- création d'un objet impossible, puisque méthode iterator en trait IterableLike de type => itérateur [java.io.File] est pas défini
- création de l'objet impossible, puisque procédé itérateur en trait IterableLike de type => itérateur [V] est défini
- éléments de méthode impérieuses trait IterableLike de type => Iterator [java.io.File]; méthode éléments nécessitant un modificateur 'override'
- éléments de méthode de substitution dans le trait IterableLike de type => Iterator [V]; éléments de méthode a besoin modificateur `override »
Voici le code en question:
/**
* 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
}
}
}
}
Livré avec une importation de fichiers et avec une substitution globale de '' iterator' pour elements', votre compile de code. –