我已经在Scala上试验了一段时间,并且经常遇到有利于不可变数据结构的建议。
但是当你有一个像3D场景图,大型神经网络,或任何需要频繁更新的物体(动画场景中的物体,训练神经网络......),这似乎是
在运行时非常低效,因为您需要不断重新创建整个对象图,并且
难以编程,因为当您引用某些需要更新的对象时,您不能只调用它们上的setter,但您需要复制对象图并用更新的旧对象替换的。
在惯用的Scala中如何处理这些事情?
答案 0 :(得分:4)
Scala是一种多范式:OO和功能,可变和不可变。
复杂图表是数据结构的一个示例,正如您所知,在可变上下文中可能更容易使用。如果是这样,请使数据结构可变。
惯用语Scala是使用正确的范例来解决您的问题。