【发布时间】:2018-01-20 19:38:46
【问题描述】:
为什么下面的代码只打印 1 而不是其余的列表元素?
scala> val l: List [Int] = List(1,2,3)
l: List[Int] = List(1, 2, 3)
scala> l.toStream.map(x => print(x))
1res3: scala.collection.immutable.Stream[Unit] = Stream((), ?)
编写此代码的正确方法是什么?
【问题讨论】:
-
我可以通过重复调用tail`scala> val strmx1 = l.toStream.map(x => print(x)) 1strmx1: scala.collection.immutable.Stream[Unit ] = Stream((), ?) scala> val strmx2 = strmx1.tail 2strmx2: scala.collection.immutable.Stream[Unit] = Stream((), ?) scala> val strmx3 = strmx2.tail 3strmx3: scala.collection .immutable.Stream[Unit] = Stream((), ?) scala> val strmx4 = strmx3.tail strmx4: scala.collection.immutable.Stream[Unit] = Stream() `
标签: scala