當我在 scala 中撰寫任務時,我遇到了問題
錯誤代碼缺少擴展函式的引數型別。
預期型別為: Int def sum_tree(t : Tree[Int]): int ={
sealed trait Tree[Int]
case class Leaf[Int](elem: Int) extends Tree[Int]
case class Node[Int](elem: Int, left: Tree[Int], right: Tree[Int]) extends Tree[Int]
val tree = Node(7, Node(3, Leaf(1), Leaf(2)), Leaf(4))
def sum_tree(t : Tree[Int]): Int = {
//must use recursion call function.
case Leaf(elem) => elem
case Node(elem, l, r) => elem sum_tree(l) sum_tree( l )
case None => 0
}
println("** p6 **")
println(sum_tree(tree)
uj5u.com熱心網友回復:
您的模式匹配缺少match有效的匹配運算式。另請注意,tisTree和 there 已None宣告實作它,因此最后一個 case 子句無效;sum_tree(l)當第二個應該打的時候你打了兩次電話sum_tree(r)
def sum_tree(t: Tree[Int]): Int = t match
case Leaf(elem) => elem
case Node(elem, l, r) => elem sum_tree(l) sum_tree(r)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/459745.html
標籤:斯卡拉
上一篇:如何對不相關的內容進行分組
