如何修改Scala列表中的元素?

时间:2018-04-30 18:38:38

标签: scala

var increase  = (x:Int) => x+1
var someNumbers = List(-11, -10, -5, 0, 5, 10)


someNumbers.foreach((x) => increase(x))

我希望列表中的所有元素都增加1.我在这里做错了吗? foreach函数没有做任何事情

2 个答案:

答案 0 :(得分:0)

foreach返回单位。这就是它没有做任何事情的原因。 如果要修改列表,例如将其值增加1.您需要使用map来操作并返回修改后的列表。

scala> var increase  = (x:Int) => x+1
increase: Int => Int = $$Lambda$1195/148679921@50f13494

scala> var someNumbers = List(-11, -10, -5, 0, 5, 10)
someNumbers: List[Int] = List(-11, -10, -5, 0, 5, 10)

scala> val modifiedList = someNumbers.map((x) => increase(x))
modifiedList: List[Int] = List(-10, -9, -4, 1, 6, 11)

答案 1 :(得分:-1)

pages

以上工作