0
val notDivisibleBy2: Stream[Long] = 3L #:: 5L #:: notDivisibleBy2.tail.map(_ + 2)
println(notDivisibleBy2.take(3))
如果5L
被移除,一个StackOverflow
被发射。有没有办法让尾部计算工作,以便不必指定5L
?
val notDivisibleBy2: Stream[Long] = 3L #:: 5L #:: notDivisibleBy2.tail.map(_ + 2)
println(notDivisibleBy2.take(3))
如果5L
被移除,一个StackOverflow
被发射。有没有办法让尾部计算工作,以便不必指定5L
?
当您删除5L
然后调用tail
函数时,您正在进入无限循环。正如你所看到的,notDivisibleBy2
的尾部是notDivisibleBy2.tail.map(_ + 2)
。因此,您需要删除5L
以及致电tail
。
val notDivisibleBy2: Stream[Long] = 3L #:: notDivisibleBy2.map(_ + 2)