Кажется, что поддержка печатных массивов в Scala несколько отсутствует. Если вы печатаете один, вы получите мусор по умолчанию вы получите в Java:Scala - печатные массивы
scala> val array = Array.fill(2,2)(0)
array: Array[Array[Int]] = Array(Array(0, 0), Array(0, 0))
scala> println(array)
[[[email protected]
Кроме того, вы не можете использовать/deepToString методы Java ToString из класса java.util.Arrays: (или, по крайней мере, я не могу это цифра)
scala> println(java.util.Arrays.deepToString(array))
<console>:7: error: type mismatch;
found : Array[Array[Int]]
required: Array[java.lang.Object]
println(java.util.Arrays.deepToString(array))
лучшее решение, которое я мог бы найти для печати 2D-массив должен сделать следующее:
scala> println(array.map(_.mkString(" ")).mkString("\n"))
0 0
0 0
есть ли более идиоматических способ сделать это?
Или используйте array.deep.foreach (Println), если это может быть большой массив – tgkprog