小编Bar*_*nek的帖子

奇怪的scala错误.发现:scala.Double必需双

我有一个树存储节点中的元素列表.我需要编写一个函数来获取这样的树并返回在节点中具有元素总和的树.

我认为这是一项简单的任务,但发生了一些错误: 错误

这是IntelliJ显示的内容:

编译错误的代码

最后这是我的代码:

sealed trait tree[+A]
case object Empty extends tree[Nothing]
case class Node[A](element:A,left:tree[A],right:tree[A]) extends tree[A]

val tr=Node(List(1,2,3),Node(List(3,4,5),Empty,Node(List(2,4,5),Empty,Empty)),Node(List(6,7,8),Empty,Empty))

def transformTree[Double](t:tree[List[Double]]):tree[Double]={
t match{
case Empty => Empty
case Node(l,left,right)=>Node[Double](l.foldLeft(0)((a:Double,b:Double)=>(a+b)),transformTree(left),transformTree(right))
}
}
   transformTree(tr)
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它会在那里期待弦,所以如果可以的话请向我解释一下:)

tree functional-programming scala

1
推荐指数
1
解决办法
149
查看次数

标签 统计

functional-programming ×1

scala ×1

tree ×1