Портирование нового кода Iterable {} из Scala 2.7.7 в 2.8

Я видел эту ветку:

Каковы самые большие различия между Scala 2.8 и Scala 2.7?

Кажется, что она покрывает некоторые изменения, но первые проблемы с компиляцией, которые я обнаружил, похоже, не упоминаются. Любые предложения?

  • виды аргументов типа (Iterable [Any] с (A с Int) => Any) не соответствуют ожидаемым видам параметров типа (тип CC) в классе GenericCompanion. Итерируемый [Любой] с (A с Int) => Параметры любого типа не соответствуют ожидаемым параметрам типа CC: не имеет параметров типа, но тип CC имеет один объект
  • , создание которого невозможно, так как Метод итератор в черте IterableLike типа => Iterator [java.io.File] is не определено
  • создание объекта невозможно, т.к. Метод итератор в черте IterableLike типа => Iterator [V] не определен
  • переопределение элементов метода в признаке IterableLike типа => Итератор [java.io.File]; метод elements нуждается в модификаторе override
  • переопределении элементов метода в признаке IterableLike типа => Iterator [V]; элементы метода нуждаются в переопределении модификатор

Вот код, о котором идет речь:

/**
 * Filesystem walker.
 * 

* 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 } } } }

5
задан Community 23 May 2017 в 10:32
поделиться