在递归函数中的每个函数调用之后如何打印列表的元素?
def multiply(list: List[Int]): Unit =list match {
case Nil => 1
case n :: rest => n * multiply(rest)
}
每次调用一次split(),我想查看它要处理的列表元素。
答案 0 :(得分:1)
您的方法应返回Int
而不是Unit
。要迭代地打印元素,只需在println
下插入case head :: tail
:
def multiply(list: List[Int]): Int = list match {
case Nil => 1
case n :: rest =>
println(n)
n * multiply(rest)
}
multiply(List(1,2,3,4))
// 1
// 2
// 3
// 4
// res1: Int = 24