时间:2010-07-25 05:02:46

标签: scala

8 个答案:

答案 0 :(得分:110)

答案 1 :(得分:35)

答案 2 :(得分:12)

为Arjan的答案添加更多内容 - 您可以使用mkString方法进行打印,甚至可以指定元素之间的分隔符。 例如:

val a = Array(1, 7, 2, 9)
a.mkString(" and ")
// "1 and 7 and 2 and 9"
a.mkString("<", ",", ">") //mkString(start: String, sep: String, end: String)
// "<1,7,2,9>" 

答案 3 :(得分:5)

试试这个:

  // create an array
  val array1 = Array(1,2,3)
  // print an array elements seperated by comma
  println(array1.mkString(","))
  // print an array elements seperated by a line
  println(array1.mkString("\n"))

  // create a function
  def printArray[k](a:Array[k])= println(a.mkString(","))
  printArray(array1)

答案 4 :(得分:2)

我更喜欢这个:

Array(1, 7, 2, 9).foreach(println)

答案 5 :(得分:1)

执行此操作的“函数式编程”方法(据我所知)是:

scala> array foreach{case a => a foreach {b => print(b.toString + " ")}; print('\n')}
0 0 
0 0 

或者如果你真的不在乎间距:

scala> array foreach{a => a foreach println}
0
0
0
0

恕我直言,功能编程可能会有点混乱,如果需要太长时间才能实现这一点,我会说采用强制方式。

答案 6 :(得分:1)

您可以使用内部以及外部数组的自定义分隔符对Array [Array [Somethings]]进行整洁的格式化:

    def arrayToString(a: Array[Array[Int]]) : String = {
       val str = for (l <- a) yield l.mkString("{", ",", "}")
       str.mkString("{",",\n","}")
    }

    val foo = Array.fill(2,2)(0)
    println(arrayToString(foo))

这导致:

    {{0,0},
    {0,0}}

答案 7 :(得分:0)

Array(1, 7, 2, 9) foreach println

小的修改rupert160的答案。不需要圆点或括号。