tôi thấy chủ đề này:Porting mới Iterable {} mã từ Scala 2.7.7 đến 2.8
What are the biggest differences between Scala 2.8 and Scala 2.7?
Dường như để trang trải một số thay đổi, nhưng là người đầu tiên biên dịch các vấn đề Tôi đã trúng không có vẻ được đề cập. Bất kỳ đề xuất?
- loại đối số loại (Lặp lại [Bất kỳ] với (A với Int) => Bất kỳ) không tuân thủ các loại tham số loại mong đợi (loại CC) trong lớp GenericCompanion. Iterable [Any] với tham số kiểu A (có Int) => Bất kỳ tham số kiểu nào không khớp với tham số kiểu của CC: không có tham số kiểu, nhưng gõ CC có một
- tạo đối tượng không thể, vì trình lặp phương thức theo đặc điểm IterableLike loại => iterator [java.io.File] đang không được định nghĩa
- tạo đối tượng không thể, kể từ phương pháp lặp trong đặc điểm IterableLike của type => iterator [V] không được định nghĩa
- yếu tố phương pháp trọng trong đặc điểm IterableLike của loại => Iterator [java.io.File]; phương pháp yếu tố cần sửa đổi 'ghi đè'
- phần tử phương thức ghi đè trong đặc điểm IterableLike of type => Iterator [V]; yếu tố phương pháp cần 'đè' modifier
Dưới đây là mã trong câu hỏi:
/**
* 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
}
}
}
}
Được cung cấp với một khẩu đối với File và với một thay toàn cầu của 'iterator' cho' elements', bạn biên dịch mã. –