Scala REPL中对象的字符串表示形式

时间:2009-12-29 07:34:26

标签: scala

有没有一种简单的方法可以将Scala对象转换为REPL中给出的字符串表示形式?例如,对于Array(2, 3, 5),我想获取字符串"Array(2, 3, 5)",而对于Stream from 2,我想获得"Stream(2, ?)"

2 个答案:

答案 0 :(得分:5)

REPL使用toString方法生成其值的字符串表示形式。因此:

Array(1, 2, 3).toString      // => "Array(1, 2, 3)"

这适用于所有版本的Scala(2.7,2.8等)。

答案 1 :(得分:2)

更常用的方法是使用Array的mkString方法(2.7和2.8中相同):

scala> val a1 = Array(1, 2, 3)
a1: Array[Int] = Array(1, 2, 3)

scala> a1.mkString
res0: String = 123

scala> a1.mkString(", ")
res1: String = 1, 2, 3