scala - 没有 var scala 的累积和
问题描述
我试图在scala中使用var和for循环以命令式风格计算整数列表的累积总和,这似乎可行,但我想知道我们是否可以在不使用var和counter的情况下以更好的方式做到这一点?
这是我的代码
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
解决方案
推荐阅读
- php - 其他产品页面的重复值不断删除
- firebase - 在 Firebase 身份验证中,“最近”经过身份验证意味着多久以前?
- c# - 从 ASP.NET 应用程序通过 Google API 发送电子邮件
- python - Python:Pandas Grouper() 函数时间戳选择
- google-cloud-platform - Google Cloud Endpoint:如何显示示例响应、yaml 配置
- android - MutableLiveData 的变化在显式设置值之前反映在观察者中
- css - 如何在箭头相互重叠的地方制作css?
- r - R中的TSP,具有给定的距离
- elasticsearch - Elasticsearch 自动完成功能无法正常工作
- regex - Powershell 使用“-”和数字以及“.xml”拆分字符串