如何打印函数返回的列表

时间:2018-06-18 18:09:02

标签: scala

我编写了过滤一些值的代码。我尝试打印结果,但收到:单位类型,没有打印。我该如何修复代码?

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();
      }

1 个答案:

答案 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)
      }