我编写了过滤一些值的代码。我尝试打印结果,但收到:单位类型,没有打印。我该如何修复代码?
val originalList = List(5, -1, 0, 3, 2)
def without(originalList: List [Int] ) : List[Int] = {
val newList = originalList.filter(_ == 3)
return newList
}
val list=without(originalList)
for( a <- list ){
println();
}
答案 0 :(得分:4)
你的代码实际上很好,但你错过了你需要在for循环中打印的内容,你没有在println中给出值,这是一个。
当您编写for(a <- list)
时,这意味着列表中的a是列表的元素。你需要打印列表中的元素。所以你做了
println(a)
您可以使用foreach
without(originalList).foreach(println)
您可以直接执行println(list)
在您的代码中
val list=without(originalList)
for( a <- list ){
println(a)
}
实际上在你的代码中你不需要return语句,因为scala中函数的最后一行被认为是返回值。
val originalList = List(5, -1, 0, 3, 2)
def without(originalList: List [Int] ) : List[Int] = originalList.filter(_ == 3)
val list=without(originalList)
for( a <- list ){
println(a)
}