我有一种情况,我需要一种可以接受类型的方法:
Array[Int]
Array[Array[Int]]
Array[Array[Array[Int]]]
Array[Array[Array[Array[Int]]]]
etc...
让我们将这种类型的 RAI 称为“递归整数数组”
def make(rai: RAI): ArrayPrinter = { ArrayPrinter(rai) }
其中 ArrayPrinter 是一个用 RAI 初始化并遍历整个 rai 的类(假设它打印此 Array[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"
它还可以返回原始的 Array[Array[Int]] 而不会丢失任何类型信息。
val arr: Array[Array[Int]] = printer.getNestedArray()
你如何在 Scala 中实现这一点?