Изменить узел в дереве классов кейсов Scala

Предположим, что у меня есть построение дерева с использованием классов case, что-то вроде этого:

abstract class Tree
case class Branch(b1:Tree,b2:Tree, value:Int) extends Tree
case class Leaf(value:Int) extends Tree
var tree = Branch(Branch(Leaf(1),Leaf(2),3),Branch(Leaf(4), Leaf(5),6))

А теперь я хочу создать метод для изменения узла с некоторым идентификатором на другой узел. Этот узел легко найти, но я не знаю, как его изменить. Есть какой-нибудь простой способ сделать это?

5
задан Nicolas 3 February 2012 в 16:08
поделиться