Я довольно новыми для Scala и мне дали эту функциюКак я могу назвать эту функцию maptree в Scala?
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
Вы не слишком далеко от такого примера. Добавьте свои типы - «Лист», «Узел» и «Дерево». –