我正在评估 Scala,但它的不可变集合存在问题。
我想制作不可变的集合,它们是完全不可变的,一直贯穿所有包含的对象,它们引用的对象,无穷无尽。
有没有一种简单的方法可以做到这一点?
http://www.finalcog.com/immutable-containers-scala上的代码说明了我想要实现的目标,以及一个令人讨厌的工作(ImmutablePoint)。
解决方法的问题是,每次我想更改一个对象时,我都必须手动制作一个新副本。我知道运行时必须实现写时复制,但这可以对开发人员透明吗?
我想我正在寻找不可变对象,其中方法更改当前对象状态,但对对象的所有其他“val”(和所有不可变容器)引用都保留“旧”状态。