使用scala累积元素和

时间:2011-09-06 08:24:13

标签: scala

  

可能重复:
  In Scala, how do I fold a List and return the intermediate results?

我正在寻找以下列方式累积SortedTree元素的功能方法:

我想要一个列表,其中包含SortedTree中所有元素的所有前体(包括元素本身)的总和。

对于Exmaple:

SortedTree包含(0.4,0.3,0.2,0.1,0.05)

我想要列表:(0,4.7,0,0.9,1,1.05)

有什么建议吗?

1 个答案:

答案 0 :(得分:9)

标准库中没有SortedTree,但您只需要scanLeft(假设您的类型扩展为TraversableLike):

seq.scanLeft(0.0)(_ + _).tail

或者如果你想要一个清单:

seq.toList.scanLeft(0.0)(_ + _).tail