Scala'da ikili ağaç yazmaya çalışıyorum. İşte benim BinaryTree.apply yöntemde benim tanımları Scala: Öğelerin sıralamasında kat kullanarak ikili ağaç oluşturmaya çalışırken belirsiz değer parametresi hatası
sealed trait Tree[+T]
final object Empty extends Tree[Nothing]
final case class Leaf[A](value: A) extends Tree[A]
final case class Branch[A](elem: A, left: Tree[A], right: Tree[A]) extends Tree[A]
object BinaryTree {
def insert[ A : Ordering] (t : Tree[A])(implicit elem : A): Tree[A] = {
val order = implicitly[Ordering[A]]
t match {
case Empty => Leaf(elem)
case Leaf(x) if (elem == x) => t
case Leaf(x) if (order.lt(elem, x)) => new Branch(elem, Empty, new Leaf(x))
case Leaf(x) => new Branch(elem, new Leaf(x), Empty)
case Branch(x, left, right) if (elem == x) => t
case Branch(x, left, right) if (order.lt(elem, x)) => new Branch(x, insert(left), right)
case Branch(x, left, right) => new Branch(x, left, insert(right))
}
}
def apply[A: Ordering](as: A*): Tree[A] =
as.tail.foldLeft[Tree[A]](Leaf(as.head))((t, elem) => BinaryTree.insert(t)(elem))
}
aşağıdaki hatayı demek şimdi ne ya ben eksik ben
"Unspecified value parameters: elem : A"
emin değil almak vardır. Herkes bana yardım edebilir
Gizli anahtar kelimeyi ekleme satırından kaldırırsam ve [A: Sipariş Verme] (t: Ağaç [A]) (elem: A) olarak yazarım, hatadan kurtulmuş gibi görünüyor. –