如何在scala中的迭代器中使用以前存储的值?

时间:2015-09-16 09:19:52

标签: scala

我有

var a = List (1,2,3,4,5)

a.map( e => if(e%2==0) (e*2) else (**))

** =在这个地方,我只想使用已更新的值

我该怎么做?

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题

val a = List(1,2,3,4)

val r = a.foldLeft(List[Int]()){
  (l, e) => if(e % 2 == 0) e :: l else (l.fold(0)(math.max(_, _))) :: l
}.reverse