无var scala的累计和

时间:2018-08-02 20:57:37

标签: scala scala-collections

我试图使用var和for循环在scala中以命令式计算整数列表的累积和,这似乎可行,但我想知道我们是否可以在不使用var和counter的情况下更好地做到这一点? / p>

这是我的代码

val ar1 = Array[Int](1, 0, 1, 0, 0)            
//> ar1  : Array[Int] = Array(1, 0, 1, 0, 0)
var cumsum = 0.0;                                
//> cumsum  : Double = 0.0
for (i <- 0 until ar1.length) {
  if (i == 0) {
    cumsum = 0;
  } else {
    cumsum = ar1(i - 1) * 0.99 + cumsum;
  }
  println(cumsum)
}   

这是我期望的输出

                                          //> 0.0
                                          //| 0.99
                                          //| 0.99
                                          //| 1.98
                                          //| 1.98

0 个答案:

没有答案