相关疑难解决方法(0)

Scala - 打印阵列

在Scala中似乎缺乏对打印数组的支持.如果您打印一个,您将获得Java中的默认垃圾:

scala> val array = Array.fill(2,2)(0)             
array: Array[Array[Int]] = Array(Array(0, 0), Array(0, 0))

scala> println(array)
[[I@d2f01d
Run Code Online (Sandbox Code Playgroud)

此外,您不能使用java.util.Arrays类中的Java toString/deepToString方法:(或者至少我无法弄清楚)

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))
Run Code Online (Sandbox Code Playgroud)

我能找到的打印2D阵列的最佳解决方案是执行以下操作:

scala> println(array.map(_.mkString(" ")).mkString("\n"))
0 0
0 0
Run Code Online (Sandbox Code Playgroud)

有没有更惯用的方法呢?

scala

69
推荐指数
4
解决办法
7万
查看次数

在交互式Scala控制台中打印整个结果

当我在Scala交互式控制台中输入内容时,控制台会打印语句的结果.如果结果太长,控制台会裁剪它(向右滚动以查看它):

scala> Array.fill[Byte](5)(0)
res1: Array[Byte] = Array(0, 0, 0, 0, 0)

scala> Array.fill[Byte](500)(0)
res2: Array[Byte] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

scala read-eval-print-loop

10
推荐指数
1
解决办法
9806
查看次数

为什么打印List [Array [String]]不输出值?

我试图理解我从下面的代码中获得的输出,它显示一些带有前缀的字母数字值@。我如何将其更改为("Hello,world"),("How,are,you")

Scala代码:

val words = List("Hello_world","How_are_you" )
val ww= words.map(line=>line.split("_"))
println(ww)
Run Code Online (Sandbox Code Playgroud)

输出

List([Ljava.lang.String;@7d4991ad, [Ljava.lang.String;@28d93b30)
Run Code Online (Sandbox Code Playgroud)

arrays scala println

0
推荐指数
1
解决办法
84
查看次数

标签 统计

scala ×3

arrays ×1

println ×1

read-eval-print-loop ×1