У меня есть этот кодОбновление значения узла в Scala?
tree match {
case EmptyNode =>
//do stuff with empty node
case Node(left, right, value) =>
//do stuff with node contents
}
Однако то, что если я хочу, чтобы обновить значение узла? Я пробовал делать значение = newValue внутри дела, но, похоже, это не разрешено.
Структура моих деревьев/узлов:
sealed trait Tree
case class Node(var left: Tree, var right: Tree, var value: String) extends Tree
case object EmptyNode extends Tree
Да, я согласен с вами, но пользователь спросил [связанный вопрос вчера] (https://stackoverflow.com/questions/30769983/making-a-very-basic-binary-tree-in-scala), где он стало ясно, что пользователь просто учится программировать и будет иметь проблемы с обновлением неизменяемых деревьев классов case (он удалил свой комментарий, говоря, что ему не нравятся неизменные структуры). Это всего лишь дополнительная информация о том, почему пользователь хочет использовать изменяемые деревья. –