我是相當新的Scala和我一直在考慮這個功能如何在Scala中調用這個maptree函數?
def map_tree[A,B](f: A => B)(tree: Tree[A]): Tree[B] =
tree match {
case Leaf(value) => Leaf(f (value))
case Node(value , l, r) => Node(f (value), map_tree (f) (l), map_tree (f) (r))
}
這是我的樹類和葉和節點定義
abstract class Tree[+A]
case class Leaf[A](value: A) extends Tree[A]
case class Node[A](value: A, left: Tree[A], right: Tree[A]) extends Tree[A]
我將如何調用另一個函數內這map_tree功能?
例如,如果我有這個功能
def add_n(t: Tree[Int], n: Int) : Tree[Int] =
我如何可以調用它map_tree以使其加入正樹中的每一個元素?
def add_n(t: Tree[Int], n: Int) : Tree[Int] =
map_tree(what do I input here)?
我已經打過電話這樣的:
map_tree(t => t+n)(t)
但它告訴我 「無效的參數類型」。我認爲這是不輸入應該是什麼,但我不知道我應該在第一括號中map_tree進入
請創建您的問題的[MCVE。 –
好吧,我試圖做到這一點! – Vandexel
你離這樣一個例子不算太遠。添加你的類型 - 'Leaf','Node'和'Tree'。 –