Я искал и нашел некоторую информацию по этой теме, но ответы либо запутывают, либо не применимы.
У меня есть что-то вроде этого:
class Thing (val name:String, val refs:IndexedSeq[Ref])
class Ref (val name:String, val thing:Thing)
Теперь я хочу сказать, загрузите файл, проанализируйте его и заполните эту структуру данных. Это неизменный и циклический, как это можно сделать?
Кроме того, скажем, я действительно заполняю эту структуру данных, теперь я хочу ее изменить, например, изменить rootThing.refs(3).name, как это можно сделать?
Спасибо за идеи, опубликованные здесь. На данный момент я думаю, что если вам действительно нужны постоянные структуры данных для чего-то вроде этого, подумайте нестандартно и подумайте над тем, какие вопросы должен задать клиентский код. Поэтому вместо того, чтобы думать об объектах и полях, подумайте о запросах, индексах и т.д. Для начала я думаю с точки зрения: Существует ли двунаправленная многофазная постоянная структура данных?