在下面的函数中(在 Scala 工作表中运行)为什么我会收到 sum(ys) 的输出?
如何计算值 0,1,0 等?
def sum(xs: List[Int]): Int = xs match {
case Nil => 0
case y :: ys => {
println(sum(ys))
y + sum(ys)
}
} //> sum: (xs: List[Int])Int
sum(List(3,4,5,1)) //> 0
//| 1
//| 0
//| 6
//| 0
//| 1
//| 0
//| 10
//| 0
//| 1
//| 0
//| 6
//| 0
//| 1
//| 0