Dường như sự hỗ trợ cho mảng in có phần thiếu trong Scala. Nếu bạn in một, bạn sẽ có được rác mặc định, bạn sẽ nhận được trong Java:Scala - mảng in
scala> val array = Array.fill(2,2)(0)
array: Array[Array[Int]] = Array(Array(0, 0), Array(0, 0))
scala> println(array)
[[[email protected]
Hơn nữa, bạn không thể sử dụng Java toString/deepToString phương pháp từ lớp java.util.Arrays: (hoặc ít nhất là tôi không thể figure it out)
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))
giải pháp tốt nhất tôi có thể tìm cho in một mảng 2D là phải làm như sau:
scala> println(array.map(_.mkString(" ")).mkString("\n"))
0 0
0 0
có cách nào thành ngữ hơn để làm điều này?
Hoặc sử dụng array.deep.foreach (println) nếu nó có thể là một mảng lớn – tgkprog