Mar*_*sen 0 scala sum list filter
我是Scala的新手,需要一些关于如何在元组列表中组合过滤器和求和的帮助.
我需要的是过滤元组列表的整数之和,它基本上是问题的答案:
所有设定权重的总和是多少?
对于下面的样本列表,结果应为20
这个清单很简单:
     val ln = List( ("durationWeight" , true, 10),
                    ("seasonWeight"   , true, 10),
                    ("regionWeight"   , false, 5),
                     ("otherWeight"   , false, 5)
根据布尔标志过滤列表很简单:
     val filtered = ln.filter { case(name, check, value) => check == true  }
它返回了我想要的元组.获得所有它们的总和似乎与地图后跟sum:
  val b = filtered.map{case((name, check, value) ) => value}.sum
这将返回所有设定权重的所需总和.
但是,我如何在一步中结合滤镜,地图和总和来完成所有这一切,理想情况下是优雅的一个班轮?
谢谢你的帮助.
| 归档时间: | 
 | 
| 查看次数: | 2012 次 | 
| 最近记录: |