2015-04-24 38 views
3

阵列我有两个val S:斯卡拉保存到格式

// 0~250::250~500::500~750::750~1000 
val step_x_ranges = stepsAsString.mkString("::") 

// 1::22::7::16 
val step_y = histogram_final.map{case (x , y) => y}.mkString("::") 

而且我想把它保存到Array,如:

0~250::1 
250~500::22 
500~750::7 
750::1000::16 

但还是不尝试一下: 请帮我这个是我的错代码:

结果:

0::4 
~::8 
+0

你想压缩这些'Seq's? https://www.safaribooksonline.com/library/view/scala-cookbook/9781449340292/ch10s24.html:'stepsAsString.zip(histogramFinal).map(...' –

回答

3

使用zip

scala> val step_x_ranges = Array("0~250", "250~500", "500~750","750~1000") 
step_x_ranges: Array[String] = Array(0~250, 250~500, 500~750, 750~1000) 

scala> val step_y = Array(1, 22, 7, 16) 
step_y: Array[Int] = Array(1, 22, 7, 16) 

scala> val result = step_x_ranges.zip(step_y).map{case (x, y) => s"$x::$y"} 
res1: Array[String] = Array(0~250::1, 250~500::22, 500~750::7, 750~1000::16) 
scala> scala.tools.nsc.io.File("test.txt").writeAll(result.mkString("\n")) 

而且test.txt的:

0~250::1 
250~500::22 
500~750::7 
750~1000::16 
+0

你是对的!我得到了''''Vector (0〜250 :: 1,250〜500 :: 22,500〜750 :: 7,750〜1000 :: 16)'''但是我怎么把这个保存到一个txt文件?'''0〜 250 :: 1 250〜500 :: 22 500〜750 :: 7 750 :: 1000 :: 16'''' – user2492364

+0

我在文件中添加了保存到我的答案。如果你使用'mkString(“”)''需要保存在一行中 – ipoteka

+0

我遇到了一个错误:线程中的异常“main”java.lang.NoClassDefFoundError:scala/reflect/io/AbstractFile $''''你知道吗? – user2492364