在惯用的Scala中更新大型数据结构

时间:2014-03-07 10:35:43

标签: scala data-structures immutability

我已经在Scala上试验了一段时间,并且经常遇到有利于不可变数据结构的建议。

但是当你有一个像3D场景图,大型神经网络,或任何需要频繁更新的物体(动画场景中的物体,训练神经网络......),这似乎是

  1. 在运行时非常低效,因为您需要不断重新创建整个对象图,并且

  2. 难以编程,因为当您引用某些需要更新的对象时,您不能只调用它们上的setter,但您需要复制对象图并用更新的旧对象替换的。

  3. 在惯用的Scala中如何处理这些事情?

1 个答案:

答案 0 :(得分:4)

Scala是一种多范式:OO和功能,可变和不可变。

复杂图表是数据结构的一个示例,正如您所知,在可变上下文中可能更容易使用。如果是这样,请使数据结构可变。

惯用语Scala是使用正确的范例来解决您的问题。