0
В нижней функции (запустите на листе Scala), почему я получаю вывод для суммы (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