在scala中打印二维数组,如表格

aco*_*sto 3 arrays scala multidimensional-array

我有二维数组的问题.我希望数组就像一个表而不是说Array(),Array().

像这样的东西:

 ........
 ........
 ........
 ........     
 ........
 ........
 ........
 ........
 ........

 scala> val table = Array.fill(9,8)('.')
 table: Array[Array[Char]] = Array(Array(., ., ., ., ., ., ., .), Array(., ., ., ., ., ., ., .),     
 Array(., ., ., ., ., ., ., .), Array(., ., ., ., ., ., ., .), Array(., ., ., ., ., ., ., .),   
 Array(., ., ., ., ., ., ., .), Array(., ., ., ., ., ., ., .), Array(., ., ., ., ., ., ., .),   
 Array(., ., ., ., ., ., ., .))
Run Code Online (Sandbox Code Playgroud)

Ben*_*ich 7

您可以使用print,, printlnforeach获得所需的效果:

table foreach { row => row foreach print; println }
Run Code Online (Sandbox Code Playgroud)

您还可以mkString在集合上使用该方法,该集合连接列表的元素(没有分隔符,或者带有提供字符串分隔符的重载):

print(table.map(_.mkString).mkString("\n"))
Run Code Online (Sandbox Code Playgroud)

  • 或table.foreach(x => println(x.mkString)) (2认同)