使用 .map 功能更新 scala 不可变 SEQ

Updating scala immutable SEQ with .map functionality

我正在为大学做俄罗斯方块作业,其中必须使用不可变数据结构。

问题

我想做的是使用 seq.map 函数遍历 seq 的所有值,并在旧值的基础上用新值替换它们。出于某种原因,这与我在网上看到的示例不同。我做错了什么?

class Point(x : Int, y : Int) {

}

val bodyPosition: Seq[Point] = Seq[Point](new Point(-1,0), new Point(0,0), new Point(1,0), new Point(2,0))
bodyPosition.map(map => {new Point(-map.y, map.x)})

seq 中的数据保持不变。

“是的,因为它是不可变的,这就是重点。但是,如果你靠近 documentation 你会看到映射 returns 一个新集合,所以你只需分配对于一些变量——Luis Miguel Mejía Suárez

base class Point(x : Int, y : Int){}

class Gamelogic(){
  val bodyPosition: Seq[Point] = Seq[Point](new Point(-1,0),
             new Point(0,0), new Point(1,0), new Point(2,0))
        
  val newBodyPosition = bodyPosition.map(map => {new Point(-map.y, map.x)})
}