Определение неявных границ вида для черт Scala
я делаю упражнение для реализации функционального бинарного дерева поиска в Scala, следуя аналогичной схеме, которую яЯ видел использованный в Haskell. У меня есть структура, которая выглядит примерно так: я бы
trait TreeNode[A] {
def isLeaf: Boolean
def traverse: Seq[A]
...
}
case class Branch[A](value: A, left: TreeNode[A], right: TreeNode[A]) extends TreeNode[A] {
def isLeaf: Boolean = false
def traverse: Seq[A] = ...
...
}
case class Leaf[A]() extends TreeNode[A] {
def isLeaf: Boolean = true
def traverse: Seq[A] = Seq[A]()
...
}
лайк поставить ограничение типа наA
так что он будет принимать только объекты, которые расширяютсяOrdered
, Похоже, мне нужно определить вид, связанный с A ()[A