使用 .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)})
}
我正在为大学做俄罗斯方块作业,其中必须使用不可变数据结构。
问题
我想做的是使用 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)})
}