【发布时间】:2015-07-03 10:35:24
【问题描述】:
我试过了:
val s1:Stream[Int]=1 #:: 0 #:: 1 #:: 1 #:: (s1.tail.tail.tail,s1.tail.tail).zipped.map{(c,d) => c + d}.toStream
但是
s1(5)
引发堆栈溢出...
我成功地用 2 个参数编写了正确的定义:
val s2:Stream[Int]=1 #:: 0 #:: 1 #:: 1 #:: (s2.tail.tail.tail.zip(s2.tail.tail)).map{n=> n._1+n._2}
但我将来会想要添加超过 2 个列表,这就是为什么我希望能够使用“zipped”而不是“zip”。
谢谢
【问题讨论】:
-
zipped被无限序列破坏。不要使用它,无论如何你只能将它用于 2 或 3 元组。