Tôi có một tình huống mà tôi cần một phương pháp mà có thể mất trong các loại loại constructor:Scala loại đệ quy và thực hiện
Array[Int]
Array[Array[Int]]
Array[Array[Array[Int]]]
Array[Array[Array[Array[Int]]]]
etc...
chúng ta hãy gọi loại này RAI cho "mảng đệ quy ints"
def make(rai: RAI): ArrayPrinter = { ArrayPrinter(rai) }
Trường hợp ArrayPrinter là một lớp được khởi tạo với một RAI và lặp qua toàn bộ rai (giả sử nó in tất cả các giá trị trong mảng này [Array [Int]])
val arrayOfArray: Array[Array[Int]] = Array(Array(1, 2), Array(3, 4))
val printer: ArrayPrinter[Array[Array[Int]]] = make(arrayOfArray)
printer.print_! // prints "1, 2, 3, 4"
Nó cũng có thể trả về mảng Array [Array [Int]] ban đầu mà không làm mất bất kỳ thông tin kiểu nào.
val arr: Array[Array[Int]] = printer.getNestedArray()
Làm cách nào để bạn triển khai tính năng này trong Scala?
Âm thanh như một công việc cho https://index.scala-lang.org/slamdata/matryoshka/matryoshka-core/0.18.3 – Reactormonk
Các sơ đồ một mình đáng để kiểm tra matryoshka! – pedrofurla